├── OpenClosed ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── OpenClosed.csproj.CoreCompileInputs.cache │ │ ├── OpenClosed.exe │ │ ├── OpenClosed.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── OpenClosed.csprojResolveAssemblyReference.cache │ │ └── OpenClosed.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── OpenClosed.exe │ │ ├── OpenClosed.pdb │ │ └── OpenClosed.exe.config ├── App.config ├── Program.cs ├── Checkout.cs ├── Properties │ └── AssemblyInfo.cs └── OpenClosed.csproj ├── .vs └── SOLID │ └── v15 │ ├── .suo │ └── sqlite3 │ └── storage.ide ├── DependencyInversion ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── DependencyInversion.csproj.CoreCompileInputs.cache │ │ ├── DependencyInversion.exe │ │ ├── DependencyInversion.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ └── DependencyInversion.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── DependencyInversion.exe │ │ ├── DependencyInversion.pdb │ │ └── DependencyInversion.exe.config ├── App.config ├── Program.cs ├── Order.cs ├── Mail.cs ├── Properties │ └── AssemblyInfo.cs └── DependencyInversion.csproj ├── InterfaceSegregation ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── InterfaceSegregation.csproj.CoreCompileInputs.cache │ │ ├── InterfaceSegregation.exe │ │ ├── InterfaceSegregation.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── InterfaceSegregation.csprojResolveAssemblyReference.cache │ │ └── InterfaceSegregation.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── InterfaceSegregation.exe │ │ ├── InterfaceSegregation.pdb │ │ └── InterfaceSegregation.exe.config ├── App.config ├── Program.cs ├── Order.cs ├── Properties │ └── AssemblyInfo.cs └── InterfaceSegregation.csproj ├── LiskovSubstitution ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── LiskovSubstitution.csproj.CoreCompileInputs.cache │ │ ├── LiskovSubstitution.exe │ │ ├── LiskovSubstitution.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── LiskovSubstitution.csprojResolveAssemblyReference.cache │ │ └── LiskovSubstitution.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── LiskovSubstitution.exe │ │ ├── LiskovSubstitution.pdb │ │ └── LiskovSubstitution.exe.config ├── App.config ├── Program.cs ├── Payment.cs ├── Properties │ └── AssemblyInfo.cs └── LiskovSubstitution.csproj ├── OpenClosedProblem ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── OpenClosedProblem.csproj.CoreCompileInputs.cache │ │ ├── OpenClosedProblem.exe │ │ ├── OpenClosedProblem.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── OpenClosedProblem.csprojResolveAssemblyReference.cache │ │ └── OpenClosedProblem.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── OpenClosedProblem.exe │ │ ├── OpenClosedProblem.pdb │ │ └── OpenClosedProblem.exe.config ├── App.config ├── Program.cs ├── Checkout.cs ├── Properties │ └── AssemblyInfo.cs └── OpenClosedProblem.csproj ├── SingleResponsibility ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── SingleResponsibility.csproj.CoreCompileInputs.cache │ │ ├── SingleResponsibility.exe │ │ ├── SingleResponsibility.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── SingleResponsibility.csprojResolveAssemblyReference.cache │ │ └── SingleResponsibility.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── SingleResponsibility.exe │ │ ├── SingleResponsibility.pdb │ │ └── SingleResponsibility.exe.config ├── App.config ├── Program.cs ├── Order.cs ├── Mail.cs ├── Properties │ └── AssemblyInfo.cs └── SingleResponsibility.csproj ├── LiskovSubstitutionProblem ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── LiskovSubstitutionProblem.csproj.CoreCompileInputs.cache │ │ ├── LiskovSubstitutionProblem.exe │ │ ├── LiskovSubstitutionProblem.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── LiskovSubstitutionProblem.csprojResolveAssemblyReference.cache │ │ └── LiskovSubstitutionProblem.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── LiskovSubstitutionProblem.exe │ │ ├── LiskovSubstitutionProblem.pdb │ │ └── LiskovSubstitutionProblem.exe.config ├── App.config ├── Program.cs ├── Payment.cs ├── Properties │ └── AssemblyInfo.cs └── LiskovSubstitutionProblem.csproj ├── DependencyInversionProblem ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── DependencyInversionProblem.csproj.CoreCompileInputs.cache │ │ ├── DependencyInversionProblem.exe │ │ ├── DependencyInversionProblem.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ └── DependencyInversionProblem.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── DependencyInversionProblem.exe │ │ ├── DependencyInversionProblem.pdb │ │ └── DependencyInversionProblem.exe.config ├── App.config ├── Program.cs ├── Order.cs ├── Mail.cs ├── Properties │ └── AssemblyInfo.cs └── DependencyInversionProblem.csproj ├── InterfaceSegregationProblem ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── InterfaceSegregationProblem.csproj.CoreCompileInputs.cache │ │ ├── InterfaceSegregationProblem.exe │ │ ├── InterfaceSegregationProblem.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── InterfaceSegregationProblem.csprojResolveAssemblyReference.cache │ │ └── InterfaceSegregationProblem.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── InterfaceSegregationProblem.exe │ │ ├── InterfaceSegregationProblem.pdb │ │ └── InterfaceSegregationProblem.exe.config ├── App.config ├── Program.cs ├── Order.cs ├── Properties │ └── AssemblyInfo.cs └── InterfaceSegregationProblem.csproj ├── SingleResponsibilityProblem ├── obj │ └── Debug │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ ├── SingleResponsibilityProblem.csproj.CoreCompileInputs.cache │ │ ├── SingleResponsibilityProblem.exe │ │ ├── SingleResponsibilityProblem.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── SingleResponsibilityProblem.csprojResolveAssemblyReference.cache │ │ └── SingleResponsibilityProblem.csproj.FileListAbsolute.txt ├── bin │ └── Debug │ │ ├── SingleResponsibilityProblem.exe │ │ ├── SingleResponsibilityProblem.pdb │ │ └── SingleResponsibilityProblem.exe.config ├── App.config ├── Program.cs ├── Order.cs ├── Properties │ └── AssemblyInfo.cs └── SingleResponsibilityProblem.csproj ├── SOLID.sln └── README.md /OpenClosed/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /OpenClosed/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /OpenClosed/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.vs/SOLID/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/.vs/SOLID/v15/.suo -------------------------------------------------------------------------------- /DependencyInversion/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DependencyInversion/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DependencyInversion/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /InterfaceSegregation/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /InterfaceSegregation/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /InterfaceSegregation/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LiskovSubstitution/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LiskovSubstitution/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LiskovSubstitution/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /OpenClosedProblem/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /OpenClosedProblem/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /OpenClosedProblem/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SingleResponsibility/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SingleResponsibility/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SingleResponsibility/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DependencyInversionProblem/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DependencyInversionProblem/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DependencyInversionProblem/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /OpenClosed/obj/Debug/OpenClosed.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 948f2cd36c46db69263394e8be832639f4b57c03 2 | -------------------------------------------------------------------------------- /.vs/SOLID/v15/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/.vs/SOLID/v15/sqlite3/storage.ide -------------------------------------------------------------------------------- /LiskovSubstitution/obj/Debug/LiskovSubstitution.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 56c7737e8ecab56d58e0a38ef36a58d06f511358 2 | -------------------------------------------------------------------------------- /OpenClosedProblem/obj/Debug/OpenClosedProblem.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 0f0c1c1fad77ea18cedefcf8ca179dc97f351566 2 | -------------------------------------------------------------------------------- /DependencyInversion/obj/Debug/DependencyInversion.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 69f07c9ca48f54be492f505c3897c443c482f93d 2 | -------------------------------------------------------------------------------- /InterfaceSegregation/obj/Debug/InterfaceSegregation.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 499fbaa6af8488fbb03ad1bd7ab1080ae9f18bb6 2 | -------------------------------------------------------------------------------- /OpenClosed/bin/Debug/OpenClosed.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosed/bin/Debug/OpenClosed.exe -------------------------------------------------------------------------------- /OpenClosed/bin/Debug/OpenClosed.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosed/bin/Debug/OpenClosed.pdb -------------------------------------------------------------------------------- /OpenClosed/obj/Debug/OpenClosed.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosed/obj/Debug/OpenClosed.exe -------------------------------------------------------------------------------- /OpenClosed/obj/Debug/OpenClosed.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosed/obj/Debug/OpenClosed.pdb -------------------------------------------------------------------------------- /SingleResponsibility/obj/Debug/SingleResponsibility.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | cf4e7171a8cf3c04cb2b692d3d7fb0df002b21d3 2 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/obj/Debug/LiskovSubstitutionProblem.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 28ad22eccd95940e3ba45e94cff30e3223033f5b 2 | -------------------------------------------------------------------------------- /DependencyInversionProblem/obj/Debug/DependencyInversionProblem.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | c4c23d46ea844092a6f997b67960e5c8342a895e 2 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/obj/Debug/InterfaceSegregationProblem.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 58bcd66ba3b977d01bf6eac8d591be736d965d4b 2 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/obj/Debug/SingleResponsibilityProblem.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | bf395a1536fd550d891d890e6b27cf4e5fd60353 2 | -------------------------------------------------------------------------------- /OpenClosedProblem/bin/Debug/OpenClosedProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosedProblem/bin/Debug/OpenClosedProblem.exe -------------------------------------------------------------------------------- /OpenClosedProblem/bin/Debug/OpenClosedProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosedProblem/bin/Debug/OpenClosedProblem.pdb -------------------------------------------------------------------------------- /OpenClosedProblem/obj/Debug/OpenClosedProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosedProblem/obj/Debug/OpenClosedProblem.exe -------------------------------------------------------------------------------- /OpenClosedProblem/obj/Debug/OpenClosedProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosedProblem/obj/Debug/OpenClosedProblem.pdb -------------------------------------------------------------------------------- /LiskovSubstitution/bin/Debug/LiskovSubstitution.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitution/bin/Debug/LiskovSubstitution.exe -------------------------------------------------------------------------------- /LiskovSubstitution/bin/Debug/LiskovSubstitution.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitution/bin/Debug/LiskovSubstitution.pdb -------------------------------------------------------------------------------- /LiskovSubstitution/obj/Debug/LiskovSubstitution.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitution/obj/Debug/LiskovSubstitution.exe -------------------------------------------------------------------------------- /LiskovSubstitution/obj/Debug/LiskovSubstitution.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitution/obj/Debug/LiskovSubstitution.pdb -------------------------------------------------------------------------------- /DependencyInversion/bin/Debug/DependencyInversion.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversion/bin/Debug/DependencyInversion.exe -------------------------------------------------------------------------------- /DependencyInversion/bin/Debug/DependencyInversion.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversion/bin/Debug/DependencyInversion.pdb -------------------------------------------------------------------------------- /DependencyInversion/obj/Debug/DependencyInversion.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversion/obj/Debug/DependencyInversion.exe -------------------------------------------------------------------------------- /DependencyInversion/obj/Debug/DependencyInversion.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversion/obj/Debug/DependencyInversion.pdb -------------------------------------------------------------------------------- /InterfaceSegregation/bin/Debug/InterfaceSegregation.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregation/bin/Debug/InterfaceSegregation.exe -------------------------------------------------------------------------------- /InterfaceSegregation/bin/Debug/InterfaceSegregation.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregation/bin/Debug/InterfaceSegregation.pdb -------------------------------------------------------------------------------- /InterfaceSegregation/obj/Debug/InterfaceSegregation.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregation/obj/Debug/InterfaceSegregation.exe -------------------------------------------------------------------------------- /InterfaceSegregation/obj/Debug/InterfaceSegregation.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregation/obj/Debug/InterfaceSegregation.pdb -------------------------------------------------------------------------------- /SingleResponsibility/bin/Debug/SingleResponsibility.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibility/bin/Debug/SingleResponsibility.exe -------------------------------------------------------------------------------- /SingleResponsibility/bin/Debug/SingleResponsibility.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibility/bin/Debug/SingleResponsibility.pdb -------------------------------------------------------------------------------- /SingleResponsibility/obj/Debug/SingleResponsibility.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibility/obj/Debug/SingleResponsibility.exe -------------------------------------------------------------------------------- /SingleResponsibility/obj/Debug/SingleResponsibility.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibility/obj/Debug/SingleResponsibility.pdb -------------------------------------------------------------------------------- /DependencyInversionProblem/bin/Debug/DependencyInversionProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversionProblem/bin/Debug/DependencyInversionProblem.exe -------------------------------------------------------------------------------- /DependencyInversionProblem/bin/Debug/DependencyInversionProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversionProblem/bin/Debug/DependencyInversionProblem.pdb -------------------------------------------------------------------------------- /DependencyInversionProblem/obj/Debug/DependencyInversionProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversionProblem/obj/Debug/DependencyInversionProblem.exe -------------------------------------------------------------------------------- /DependencyInversionProblem/obj/Debug/DependencyInversionProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversionProblem/obj/Debug/DependencyInversionProblem.pdb -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/bin/Debug/LiskovSubstitutionProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitutionProblem/bin/Debug/LiskovSubstitutionProblem.exe -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/bin/Debug/LiskovSubstitutionProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitutionProblem/bin/Debug/LiskovSubstitutionProblem.pdb -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/obj/Debug/LiskovSubstitutionProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitutionProblem/obj/Debug/LiskovSubstitutionProblem.exe -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/obj/Debug/LiskovSubstitutionProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitutionProblem/obj/Debug/LiskovSubstitutionProblem.pdb -------------------------------------------------------------------------------- /OpenClosed/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosed/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /InterfaceSegregationProblem/bin/Debug/InterfaceSegregationProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregationProblem/bin/Debug/InterfaceSegregationProblem.exe -------------------------------------------------------------------------------- /InterfaceSegregationProblem/bin/Debug/InterfaceSegregationProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregationProblem/bin/Debug/InterfaceSegregationProblem.pdb -------------------------------------------------------------------------------- /InterfaceSegregationProblem/obj/Debug/InterfaceSegregationProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregationProblem/obj/Debug/InterfaceSegregationProblem.exe -------------------------------------------------------------------------------- /InterfaceSegregationProblem/obj/Debug/InterfaceSegregationProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregationProblem/obj/Debug/InterfaceSegregationProblem.pdb -------------------------------------------------------------------------------- /OpenClosed/obj/Debug/OpenClosed.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosed/obj/Debug/OpenClosed.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /SingleResponsibilityProblem/bin/Debug/SingleResponsibilityProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibilityProblem/bin/Debug/SingleResponsibilityProblem.exe -------------------------------------------------------------------------------- /SingleResponsibilityProblem/bin/Debug/SingleResponsibilityProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibilityProblem/bin/Debug/SingleResponsibilityProblem.pdb -------------------------------------------------------------------------------- /SingleResponsibilityProblem/obj/Debug/SingleResponsibilityProblem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibilityProblem/obj/Debug/SingleResponsibilityProblem.exe -------------------------------------------------------------------------------- /SingleResponsibilityProblem/obj/Debug/SingleResponsibilityProblem.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibilityProblem/obj/Debug/SingleResponsibilityProblem.pdb -------------------------------------------------------------------------------- /OpenClosedProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosedProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /DependencyInversion/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversion/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /InterfaceSegregation/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregation/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /LiskovSubstitution/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitution/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /SingleResponsibility/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibility/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitutionProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /OpenClosedProblem/obj/Debug/OpenClosedProblem.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/OpenClosedProblem/obj/Debug/OpenClosedProblem.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /DependencyInversionProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/DependencyInversionProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /InterfaceSegregationProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregationProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /LiskovSubstitution/obj/Debug/LiskovSubstitution.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitution/obj/Debug/LiskovSubstitution.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /OpenClosed/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibilityProblem/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /DependencyInversion/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /InterfaceSegregation/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /InterfaceSegregation/obj/Debug/InterfaceSegregation.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregation/obj/Debug/InterfaceSegregation.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /LiskovSubstitution/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenClosedProblem/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SingleResponsibility/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SingleResponsibility/obj/Debug/SingleResponsibility.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibility/obj/Debug/SingleResponsibility.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /DependencyInversionProblem/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenClosed/bin/Debug/OpenClosed.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/obj/Debug/LiskovSubstitutionProblem.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/LiskovSubstitutionProblem/obj/Debug/LiskovSubstitutionProblem.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /InterfaceSegregationProblem/obj/Debug/InterfaceSegregationProblem.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/InterfaceSegregationProblem/obj/Debug/InterfaceSegregationProblem.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /OpenClosedProblem/bin/Debug/OpenClosedProblem.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/obj/Debug/SingleResponsibilityProblem.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/SOLID/HEAD/SingleResponsibilityProblem/obj/Debug/SingleResponsibilityProblem.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /DependencyInversion/bin/Debug/DependencyInversion.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /InterfaceSegregation/bin/Debug/InterfaceSegregation.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LiskovSubstitution/bin/Debug/LiskovSubstitution.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SingleResponsibility/bin/Debug/SingleResponsibility.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/bin/Debug/LiskovSubstitutionProblem.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /DependencyInversionProblem/bin/Debug/DependencyInversionProblem.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/bin/Debug/InterfaceSegregationProblem.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/bin/Debug/SingleResponsibilityProblem.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /OpenClosed/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenClosed 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /OpenClosedProblem/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenClosedProblem 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /DependencyInversion/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DependencyInversion 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /LiskovSubstitution/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace LiskovSubstitution 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /InterfaceSegregation/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace InterfaceSegregation 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SingleResponsibility/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SingleResponsibility 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /DependencyInversionProblem/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DependencyInversionProblem 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace InterfaceSegregationProblem 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace LiskovSubstitutionProblem 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SingleResponsibilityProblem 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /OpenClosed/obj/Debug/OpenClosed.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\OpenClosed\bin\Debug\OpenClosed.exe.config 2 | D:\AKKI_DEV\RND\SOLID\OpenClosed\bin\Debug\OpenClosed.exe 3 | D:\AKKI_DEV\RND\SOLID\OpenClosed\bin\Debug\OpenClosed.pdb 4 | D:\AKKI_DEV\RND\SOLID\OpenClosed\obj\Debug\OpenClosed.csprojResolveAssemblyReference.cache 5 | D:\AKKI_DEV\RND\SOLID\OpenClosed\obj\Debug\OpenClosed.csproj.CoreCompileInputs.cache 6 | D:\AKKI_DEV\RND\SOLID\OpenClosed\obj\Debug\OpenClosed.exe 7 | D:\AKKI_DEV\RND\SOLID\OpenClosed\obj\Debug\OpenClosed.pdb 8 | -------------------------------------------------------------------------------- /DependencyInversion/obj/Debug/DependencyInversion.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\DependencyInversion\bin\Debug\DependencyInversion.exe.config 2 | D:\AKKI_DEV\RND\SOLID\DependencyInversion\bin\Debug\DependencyInversion.exe 3 | D:\AKKI_DEV\RND\SOLID\DependencyInversion\bin\Debug\DependencyInversion.pdb 4 | D:\AKKI_DEV\RND\SOLID\DependencyInversion\obj\Debug\DependencyInversion.csproj.CoreCompileInputs.cache 5 | D:\AKKI_DEV\RND\SOLID\DependencyInversion\obj\Debug\DependencyInversion.exe 6 | D:\AKKI_DEV\RND\SOLID\DependencyInversion\obj\Debug\DependencyInversion.pdb 7 | -------------------------------------------------------------------------------- /SingleResponsibility/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SingleResponsibility 8 | { 9 | class Order 10 | { 11 | public Order() 12 | { } 13 | 14 | public void PlaceOrder() 15 | { 16 | try 17 | { 18 | // Place order code goes here 19 | Mail.SendMail(); 20 | } 21 | catch (Exception ex) 22 | { 23 | throw ex; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /OpenClosedProblem/obj/Debug/OpenClosedProblem.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\OpenClosedProblem\bin\Debug\OpenClosedProblem.exe.config 2 | D:\AKKI_DEV\RND\SOLID\OpenClosedProblem\bin\Debug\OpenClosedProblem.exe 3 | D:\AKKI_DEV\RND\SOLID\OpenClosedProblem\bin\Debug\OpenClosedProblem.pdb 4 | D:\AKKI_DEV\RND\SOLID\OpenClosedProblem\obj\Debug\OpenClosedProblem.csprojResolveAssemblyReference.cache 5 | D:\AKKI_DEV\RND\SOLID\OpenClosedProblem\obj\Debug\OpenClosedProblem.csproj.CoreCompileInputs.cache 6 | D:\AKKI_DEV\RND\SOLID\OpenClosedProblem\obj\Debug\OpenClosedProblem.exe 7 | D:\AKKI_DEV\RND\SOLID\OpenClosedProblem\obj\Debug\OpenClosedProblem.pdb 8 | -------------------------------------------------------------------------------- /LiskovSubstitution/obj/Debug/LiskovSubstitution.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitution\bin\Debug\LiskovSubstitution.exe.config 2 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitution\bin\Debug\LiskovSubstitution.exe 3 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitution\bin\Debug\LiskovSubstitution.pdb 4 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitution\obj\Debug\LiskovSubstitution.csprojResolveAssemblyReference.cache 5 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitution\obj\Debug\LiskovSubstitution.csproj.CoreCompileInputs.cache 6 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitution\obj\Debug\LiskovSubstitution.exe 7 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitution\obj\Debug\LiskovSubstitution.pdb 8 | -------------------------------------------------------------------------------- /DependencyInversionProblem/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DependencyInversionProblem 8 | { 9 | class Order 10 | { 11 | Mail mail = new Mail(); 12 | public Order() 13 | { } 14 | 15 | public void PlaceOrder() 16 | { 17 | try 18 | { 19 | // Place order code goes here 20 | mail.SendMail(); 21 | } 22 | catch (Exception ex) 23 | { 24 | throw ex; 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /DependencyInversionProblem/obj/Debug/DependencyInversionProblem.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\DependencyInversionProblem\bin\Debug\DependencyInversionProblem.exe.config 2 | D:\AKKI_DEV\RND\SOLID\DependencyInversionProblem\bin\Debug\DependencyInversionProblem.exe 3 | D:\AKKI_DEV\RND\SOLID\DependencyInversionProblem\bin\Debug\DependencyInversionProblem.pdb 4 | D:\AKKI_DEV\RND\SOLID\DependencyInversionProblem\obj\Debug\DependencyInversionProblem.csproj.CoreCompileInputs.cache 5 | D:\AKKI_DEV\RND\SOLID\DependencyInversionProblem\obj\Debug\DependencyInversionProblem.exe 6 | D:\AKKI_DEV\RND\SOLID\DependencyInversionProblem\obj\Debug\DependencyInversionProblem.pdb 7 | -------------------------------------------------------------------------------- /InterfaceSegregation/obj/Debug/InterfaceSegregation.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregation\bin\Debug\InterfaceSegregation.exe.config 2 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregation\bin\Debug\InterfaceSegregation.exe 3 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregation\bin\Debug\InterfaceSegregation.pdb 4 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregation\obj\Debug\InterfaceSegregation.csprojResolveAssemblyReference.cache 5 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregation\obj\Debug\InterfaceSegregation.csproj.CoreCompileInputs.cache 6 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregation\obj\Debug\InterfaceSegregation.exe 7 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregation\obj\Debug\InterfaceSegregation.pdb 8 | -------------------------------------------------------------------------------- /SingleResponsibility/obj/Debug/SingleResponsibility.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\SingleResponsibility\bin\Debug\SingleResponsibility.exe.config 2 | D:\AKKI_DEV\RND\SOLID\SingleResponsibility\bin\Debug\SingleResponsibility.exe 3 | D:\AKKI_DEV\RND\SOLID\SingleResponsibility\bin\Debug\SingleResponsibility.pdb 4 | D:\AKKI_DEV\RND\SOLID\SingleResponsibility\obj\Debug\SingleResponsibility.csproj.CoreCompileInputs.cache 5 | D:\AKKI_DEV\RND\SOLID\SingleResponsibility\obj\Debug\SingleResponsibility.exe 6 | D:\AKKI_DEV\RND\SOLID\SingleResponsibility\obj\Debug\SingleResponsibility.pdb 7 | D:\AKKI_DEV\RND\SOLID\SingleResponsibility\obj\Debug\SingleResponsibility.csprojResolveAssemblyReference.cache 8 | -------------------------------------------------------------------------------- /DependencyInversion/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DependencyInversion 8 | { 9 | class Order 10 | { 11 | IMail mail; 12 | public Order(IMail mail) 13 | { 14 | this.mail = mail; 15 | } 16 | 17 | public void PlaceOrder() 18 | { 19 | try 20 | { 21 | // Place order code goes here 22 | mail.SendMail(); 23 | } 24 | catch (Exception ex) 25 | { 26 | throw ex; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/obj/Debug/LiskovSubstitutionProblem.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitutionProblem\bin\Debug\LiskovSubstitutionProblem.exe.config 2 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitutionProblem\bin\Debug\LiskovSubstitutionProblem.exe 3 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitutionProblem\bin\Debug\LiskovSubstitutionProblem.pdb 4 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitutionProblem\obj\Debug\LiskovSubstitutionProblem.csprojResolveAssemblyReference.cache 5 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitutionProblem\obj\Debug\LiskovSubstitutionProblem.csproj.CoreCompileInputs.cache 6 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitutionProblem\obj\Debug\LiskovSubstitutionProblem.exe 7 | D:\AKKI_DEV\RND\SOLID\LiskovSubstitutionProblem\obj\Debug\LiskovSubstitutionProblem.pdb 8 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/obj/Debug/InterfaceSegregationProblem.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregationProblem\bin\Debug\InterfaceSegregationProblem.exe.config 2 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregationProblem\bin\Debug\InterfaceSegregationProblem.exe 3 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregationProblem\bin\Debug\InterfaceSegregationProblem.pdb 4 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregationProblem\obj\Debug\InterfaceSegregationProblem.csprojResolveAssemblyReference.cache 5 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregationProblem\obj\Debug\InterfaceSegregationProblem.csproj.CoreCompileInputs.cache 6 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregationProblem\obj\Debug\InterfaceSegregationProblem.exe 7 | D:\AKKI_DEV\RND\SOLID\InterfaceSegregationProblem\obj\Debug\InterfaceSegregationProblem.pdb 8 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/obj/Debug/SingleResponsibilityProblem.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\SOLID\SingleResponsibilityProblem\bin\Debug\SingleResponsibilityProblem.exe.config 2 | D:\AKKI_DEV\RND\SOLID\SingleResponsibilityProblem\bin\Debug\SingleResponsibilityProblem.exe 3 | D:\AKKI_DEV\RND\SOLID\SingleResponsibilityProblem\bin\Debug\SingleResponsibilityProblem.pdb 4 | D:\AKKI_DEV\RND\SOLID\SingleResponsibilityProblem\obj\Debug\SingleResponsibilityProblem.csprojResolveAssemblyReference.cache 5 | D:\AKKI_DEV\RND\SOLID\SingleResponsibilityProblem\obj\Debug\SingleResponsibilityProblem.csproj.CoreCompileInputs.cache 6 | D:\AKKI_DEV\RND\SOLID\SingleResponsibilityProblem\obj\Debug\SingleResponsibilityProblem.exe 7 | D:\AKKI_DEV\RND\SOLID\SingleResponsibilityProblem\obj\Debug\SingleResponsibilityProblem.pdb 8 | -------------------------------------------------------------------------------- /OpenClosed/Checkout.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenClosed 8 | { 9 | public class Checkout 10 | { 11 | public virtual double CalculateShippingCost(double orderAmount) 12 | { 13 | return orderAmount; 14 | } 15 | } 16 | 17 | class Flipkart : Checkout 18 | { 19 | public override double CalculateShippingCost(double orderAmount) 20 | { 21 | return orderAmount + (orderAmount * 0.10); 22 | } 23 | } 24 | 25 | class Amazon : Checkout 26 | { 27 | public override double CalculateShippingCost(double orderAmount) 28 | { 29 | return orderAmount + (orderAmount * 0.05); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SingleResponsibility/Mail.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net.Mail; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace SingleResponsibility 9 | { 10 | class Mail 11 | { 12 | 13 | public static void SendMail() 14 | { 15 | MailMessage mail = new MailMessage("akshay@dotnetbees.com", "akshayblevel@gmail.com"); 16 | SmtpClient client = new SmtpClient(); 17 | client.Port = 25; 18 | client.DeliveryMethod = SmtpDeliveryMethod.Network; 19 | client.UseDefaultCredentials = false; 20 | client.Host = "smtp.gmail.com"; 21 | mail.Subject = "Order Confirmation"; 22 | mail.Body = "Order is placed successfully"; 23 | client.Send(mail); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /DependencyInversionProblem/Mail.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net.Mail; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace DependencyInversionProblem 9 | { 10 | class Mail 11 | { 12 | 13 | public void SendMail() 14 | { 15 | MailMessage mail = new MailMessage("akshay@dotnetbees.com", "akshayblevel@gmail.com"); 16 | SmtpClient client = new SmtpClient(); 17 | client.Port = 25; 18 | client.DeliveryMethod = SmtpDeliveryMethod.Network; 19 | client.UseDefaultCredentials = false; 20 | client.Host = "smtp.gmail.com"; 21 | mail.Subject = "Order Confirmation"; 22 | mail.Body = "Order is placed successfully"; 23 | client.Send(mail); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /DependencyInversion/Mail.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net.Mail; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace DependencyInversion 9 | { 10 | interface IMail 11 | { 12 | void SendMail(); 13 | } 14 | class Mail : IMail 15 | { 16 | public void SendMail() 17 | { 18 | MailMessage mail = new MailMessage("akshay@dotnetbees.com", "akshayblevel@gmail.com"); 19 | SmtpClient client = new SmtpClient(); 20 | client.Port = 25; 21 | client.DeliveryMethod = SmtpDeliveryMethod.Network; 22 | client.UseDefaultCredentials = false; 23 | client.Host = "smtp.gmail.com"; 24 | mail.Subject = "Order Confirmation"; 25 | mail.Body = "Order is placed successfully"; 26 | client.Send(mail); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /OpenClosedProblem/Checkout.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace OpenClosedProblem 8 | { 9 | class Checkout 10 | { 11 | private string merchant; 12 | 13 | public string Merchant 14 | { 15 | get { return merchant; } 16 | set { merchant = value; } 17 | } 18 | 19 | public double CalculateShippingCost(double orderAmount) 20 | { 21 | double shippingCost = 0; 22 | switch (merchant) 23 | { 24 | case "Flipkart": 25 | shippingCost= orderAmount + (orderAmount * 0.10); 26 | break; 27 | case "Amazon": 28 | shippingCost = orderAmount + (orderAmount * 0.05); 29 | break; 30 | default: 31 | break; 32 | } 33 | return shippingCost; 34 | } 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /LiskovSubstitution/Payment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace LiskovSubstitution 8 | { 9 | abstract class Payment 10 | { 11 | public abstract void ProcessTransaction(); 12 | 13 | } 14 | 15 | interface IPayment 16 | { 17 | void CheckBalance(); 18 | void DeductAmount(); 19 | } 20 | 21 | class Paypal : Payment,IPayment 22 | { 23 | public void CheckBalance() 24 | { 25 | Console.WriteLine("CheckBalance Method Called"); 26 | } 27 | 28 | public void DeductAmount() 29 | { 30 | Console.WriteLine("DeductAmount Method Called"); 31 | } 32 | 33 | public override void ProcessTransaction() 34 | { 35 | Console.WriteLine("ProcessTransaction Method Called"); 36 | } 37 | } 38 | 39 | class COD : Payment 40 | { 41 | public override void ProcessTransaction() 42 | { 43 | Console.WriteLine("ProcessTransaction Method Called"); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net.Mail; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace SingleResponsibilityProblem 9 | { 10 | class Order 11 | { 12 | public Order() 13 | { } 14 | 15 | public void PlaceOrder() 16 | { 17 | try 18 | { 19 | // Place order code goes here 20 | SendMail(); 21 | } 22 | catch (Exception ex) 23 | { 24 | throw ex; 25 | } 26 | } 27 | 28 | private void SendMail() 29 | { 30 | MailMessage mail = new MailMessage("akshay@dotnetbees.com", "akshayblevel@gmail.com"); 31 | SmtpClient client = new SmtpClient(); 32 | client.Port = 25; 33 | client.DeliveryMethod = SmtpDeliveryMethod.Network; 34 | client.UseDefaultCredentials = false; 35 | client.Host = "smtp.gmail.com"; 36 | mail.Subject = "Order Confirmation"; 37 | mail.Body = "Order is placed successfully"; 38 | client.Send(mail); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /InterfaceSegregation/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace InterfaceSegregation 8 | { 9 | interface IShippingCost 10 | { 11 | void CalculateShippingCost(); 12 | } 13 | interface IOrder 14 | { 15 | void ProcessPayment(); 16 | void PlaceOrder(); 17 | } 18 | 19 | class StorePickupOrder : IOrder 20 | { 21 | public void PlaceOrder() 22 | { 23 | Console.WriteLine("PlaceOrder Method is Called"); 24 | } 25 | 26 | public void ProcessPayment() 27 | { 28 | Console.WriteLine("ProcessPayment Method is Called"); 29 | } 30 | } 31 | 32 | class HomeDeliveryOrder : IShippingCost,IOrder 33 | { 34 | public void CalculateShippingCost() 35 | { 36 | Console.WriteLine("CalculateShippingCost Method is Called"); 37 | } 38 | public void PlaceOrder() 39 | { 40 | Console.WriteLine("PlaceOrder Method is Called"); 41 | } 42 | 43 | public void ProcessPayment() 44 | { 45 | Console.WriteLine("ProcessPayment Method is Called"); 46 | } 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/Order.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace InterfaceSegregationProblem 8 | { 9 | interface IOrder 10 | { 11 | void CalculateShippingCost(); 12 | void ProcessPayment(); 13 | void PlaceOrder(); 14 | } 15 | class StorePickupOrder : IOrder 16 | { 17 | public void CalculateShippingCost() 18 | { 19 | throw new NotImplementedException(); 20 | } 21 | 22 | public void PlaceOrder() 23 | { 24 | Console.WriteLine("PlaceOrder Method is Called"); 25 | } 26 | 27 | public void ProcessPayment() 28 | { 29 | Console.WriteLine("ProcessPayment Method is Called"); 30 | } 31 | } 32 | 33 | class HomeDeliveryOrder : IOrder 34 | { 35 | public void CalculateShippingCost() 36 | { 37 | Console.WriteLine("CalculateShippingCost Method is Called"); 38 | } 39 | 40 | public void PlaceOrder() 41 | { 42 | Console.WriteLine("PlaceOrder Method is Called"); 43 | } 44 | 45 | public void ProcessPayment() 46 | { 47 | Console.WriteLine("ProcessPayment Method is Called"); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/Payment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace LiskovSubstitutionProblem 8 | { 9 | abstract class Payment 10 | { 11 | public abstract void CheckBalance(); 12 | 13 | public abstract void DeductAmount(); 14 | 15 | public abstract void ProcessTransaction(); 16 | 17 | } 18 | 19 | class Paypal : Payment 20 | { 21 | public override void CheckBalance() 22 | { 23 | Console.WriteLine("CheckBalance Method Called"); 24 | } 25 | 26 | public override void DeductAmount() 27 | { 28 | Console.WriteLine("DeductAmount Method Called"); 29 | } 30 | 31 | public override void ProcessTransaction() 32 | { 33 | Console.WriteLine("ProcessTransaction Method Called"); 34 | } 35 | } 36 | 37 | class COD : Payment 38 | { 39 | public override void CheckBalance() 40 | { 41 | throw new NotImplementedException(); 42 | } 43 | 44 | public override void DeductAmount() 45 | { 46 | throw new NotImplementedException(); 47 | } 48 | 49 | public override void ProcessTransaction() 50 | { 51 | Console.WriteLine("ProcessTransaction Method Called"); 52 | } 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /OpenClosed/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("OpenClosed")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("OpenClosed")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("3c4b61dd-38ca-4da4-92d6-bc25b2b770e0")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /OpenClosedProblem/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("OpenClosedProblem")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("OpenClosedProblem")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("648bf7fa-5cad-41e3-9385-d1fef4dd2a47")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /DependencyInversion/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("DependencyInversion")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("DependencyInversion")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("eaa0763f-1f78-4fc4-855b-56a00c6791ce")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /LiskovSubstitution/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("LiskovSubstitution")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("LiskovSubstitution")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("989ec03b-f918-4bcb-a4c2-7f4d91d624d4")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /InterfaceSegregation/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("InterfaceSegregation")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("InterfaceSegregation")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("80e475ba-47e8-421c-968b-24c7590b1cd8")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /SingleResponsibility/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SingleResponsibility")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SingleResponsibility")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("6df1ee66-ffb6-46a8-beb4-b24659c98a77")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /DependencyInversionProblem/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("DependencyInversionProblem")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("DependencyInversionProblem")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("96eaf84f-1499-4057-876d-672a587346b2")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("LiskovSubstitutionProblem")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("LiskovSubstitutionProblem")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("5854989a-04e8-4c8d-98da-a9af9ac5948e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("InterfaceSegregationProblem")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("InterfaceSegregationProblem")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("fe386cd1-2d02-483f-ac4c-75a232abf14c")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SingleResponsibilityProblem")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SingleResponsibilityProblem")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("24ae685d-a192-44e8-abf9-8aaf6f38ea1e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /OpenClosed/OpenClosed.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {3C4B61DD-38CA-4DA4-92D6-BC25B2B770E0} 8 | Exe 9 | OpenClosed 10 | OpenClosed 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /LiskovSubstitution/LiskovSubstitution.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {989EC03B-F918-4BCB-A4C2-7F4D91D624D4} 8 | Exe 9 | LiskovSubstitution 10 | LiskovSubstitution 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /OpenClosedProblem/OpenClosedProblem.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {648BF7FA-5CAD-41E3-9385-D1FEF4DD2A47} 8 | Exe 9 | OpenClosedProblem 10 | OpenClosedProblem 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /InterfaceSegregation/InterfaceSegregation.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {80E475BA-47E8-421C-968B-24C7590B1CD8} 8 | Exe 9 | InterfaceSegregation 10 | InterfaceSegregation 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /LiskovSubstitutionProblem/LiskovSubstitutionProblem.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {5854989A-04E8-4C8D-98DA-A9AF9AC5948E} 8 | Exe 9 | LiskovSubstitutionProblem 10 | LiskovSubstitutionProblem 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /InterfaceSegregationProblem/InterfaceSegregationProblem.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {FE386CD1-2D02-483F-AC4C-75A232ABF14C} 8 | Exe 9 | InterfaceSegregationProblem 10 | InterfaceSegregationProblem 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /SingleResponsibilityProblem/SingleResponsibilityProblem.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {24AE685D-A192-44E8-ABF9-8AAF6F38EA1E} 8 | Exe 9 | SingleResponsibilityProblem 10 | SingleResponsibilityProblem 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /DependencyInversion/DependencyInversion.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {EAA0763F-1F78-4FC4-855B-56A00C6791CE} 8 | Exe 9 | DependencyInversion 10 | DependencyInversion 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /SingleResponsibility/SingleResponsibility.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {6DF1EE66-FFB6-46A8-BEB4-B24659C98A77} 8 | Exe 9 | SingleResponsibility 10 | SingleResponsibility 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /DependencyInversionProblem/DependencyInversionProblem.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {96EAF84F-1499-4057-876D-672A587346B2} 8 | Exe 9 | DependencyInversionProblem 10 | DependencyInversionProblem 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /SOLID.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26730.10 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SingleResponsibility", "SingleResponsibility\SingleResponsibility.csproj", "{6DF1EE66-FFB6-46A8-BEB4-B24659C98A77}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SingleResponsibilityProblem", "SingleResponsibilityProblem\SingleResponsibilityProblem.csproj", "{24AE685D-A192-44E8-ABF9-8AAF6F38EA1E}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenClosedProblem", "OpenClosedProblem\OpenClosedProblem.csproj", "{648BF7FA-5CAD-41E3-9385-D1FEF4DD2A47}" 11 | EndProject 12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenClosed", "OpenClosed\OpenClosed.csproj", "{3C4B61DD-38CA-4DA4-92D6-BC25B2B770E0}" 13 | EndProject 14 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LiskovSubstitutionProblem", "LiskovSubstitutionProblem\LiskovSubstitutionProblem.csproj", "{5854989A-04E8-4C8D-98DA-A9AF9AC5948E}" 15 | EndProject 16 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LiskovSubstitution", "LiskovSubstitution\LiskovSubstitution.csproj", "{989EC03B-F918-4BCB-A4C2-7F4D91D624D4}" 17 | EndProject 18 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InterfaceSegregationProblem", "InterfaceSegregationProblem\InterfaceSegregationProblem.csproj", "{FE386CD1-2D02-483F-AC4C-75A232ABF14C}" 19 | EndProject 20 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InterfaceSegregation", "InterfaceSegregation\InterfaceSegregation.csproj", "{80E475BA-47E8-421C-968B-24C7590B1CD8}" 21 | EndProject 22 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DependencyInversionProblem", "DependencyInversionProblem\DependencyInversionProblem.csproj", "{96EAF84F-1499-4057-876D-672A587346B2}" 23 | EndProject 24 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DependencyInversion", "DependencyInversion\DependencyInversion.csproj", "{EAA0763F-1F78-4FC4-855B-56A00C6791CE}" 25 | EndProject 26 | Global 27 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 28 | Debug|Any CPU = Debug|Any CPU 29 | Release|Any CPU = Release|Any CPU 30 | EndGlobalSection 31 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 32 | {6DF1EE66-FFB6-46A8-BEB4-B24659C98A77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 33 | {6DF1EE66-FFB6-46A8-BEB4-B24659C98A77}.Debug|Any CPU.Build.0 = Debug|Any CPU 34 | {6DF1EE66-FFB6-46A8-BEB4-B24659C98A77}.Release|Any CPU.ActiveCfg = Release|Any CPU 35 | {6DF1EE66-FFB6-46A8-BEB4-B24659C98A77}.Release|Any CPU.Build.0 = Release|Any CPU 36 | {24AE685D-A192-44E8-ABF9-8AAF6F38EA1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 37 | {24AE685D-A192-44E8-ABF9-8AAF6F38EA1E}.Debug|Any CPU.Build.0 = Debug|Any CPU 38 | {24AE685D-A192-44E8-ABF9-8AAF6F38EA1E}.Release|Any CPU.ActiveCfg = Release|Any CPU 39 | {24AE685D-A192-44E8-ABF9-8AAF6F38EA1E}.Release|Any CPU.Build.0 = Release|Any CPU 40 | {648BF7FA-5CAD-41E3-9385-D1FEF4DD2A47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 41 | {648BF7FA-5CAD-41E3-9385-D1FEF4DD2A47}.Debug|Any CPU.Build.0 = Debug|Any CPU 42 | {648BF7FA-5CAD-41E3-9385-D1FEF4DD2A47}.Release|Any CPU.ActiveCfg = Release|Any CPU 43 | {648BF7FA-5CAD-41E3-9385-D1FEF4DD2A47}.Release|Any CPU.Build.0 = Release|Any CPU 44 | {3C4B61DD-38CA-4DA4-92D6-BC25B2B770E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 45 | {3C4B61DD-38CA-4DA4-92D6-BC25B2B770E0}.Debug|Any CPU.Build.0 = Debug|Any CPU 46 | {3C4B61DD-38CA-4DA4-92D6-BC25B2B770E0}.Release|Any CPU.ActiveCfg = Release|Any CPU 47 | {3C4B61DD-38CA-4DA4-92D6-BC25B2B770E0}.Release|Any CPU.Build.0 = Release|Any CPU 48 | {5854989A-04E8-4C8D-98DA-A9AF9AC5948E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 49 | {5854989A-04E8-4C8D-98DA-A9AF9AC5948E}.Debug|Any CPU.Build.0 = Debug|Any CPU 50 | {5854989A-04E8-4C8D-98DA-A9AF9AC5948E}.Release|Any CPU.ActiveCfg = Release|Any CPU 51 | {5854989A-04E8-4C8D-98DA-A9AF9AC5948E}.Release|Any CPU.Build.0 = Release|Any CPU 52 | {989EC03B-F918-4BCB-A4C2-7F4D91D624D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 53 | {989EC03B-F918-4BCB-A4C2-7F4D91D624D4}.Debug|Any CPU.Build.0 = Debug|Any CPU 54 | {989EC03B-F918-4BCB-A4C2-7F4D91D624D4}.Release|Any CPU.ActiveCfg = Release|Any CPU 55 | {989EC03B-F918-4BCB-A4C2-7F4D91D624D4}.Release|Any CPU.Build.0 = Release|Any CPU 56 | {FE386CD1-2D02-483F-AC4C-75A232ABF14C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 57 | {FE386CD1-2D02-483F-AC4C-75A232ABF14C}.Debug|Any CPU.Build.0 = Debug|Any CPU 58 | {FE386CD1-2D02-483F-AC4C-75A232ABF14C}.Release|Any CPU.ActiveCfg = Release|Any CPU 59 | {FE386CD1-2D02-483F-AC4C-75A232ABF14C}.Release|Any CPU.Build.0 = Release|Any CPU 60 | {80E475BA-47E8-421C-968B-24C7590B1CD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 61 | {80E475BA-47E8-421C-968B-24C7590B1CD8}.Debug|Any CPU.Build.0 = Debug|Any CPU 62 | {80E475BA-47E8-421C-968B-24C7590B1CD8}.Release|Any CPU.ActiveCfg = Release|Any CPU 63 | {80E475BA-47E8-421C-968B-24C7590B1CD8}.Release|Any CPU.Build.0 = Release|Any CPU 64 | {96EAF84F-1499-4057-876D-672A587346B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 65 | {96EAF84F-1499-4057-876D-672A587346B2}.Debug|Any CPU.Build.0 = Debug|Any CPU 66 | {96EAF84F-1499-4057-876D-672A587346B2}.Release|Any CPU.ActiveCfg = Release|Any CPU 67 | {96EAF84F-1499-4057-876D-672A587346B2}.Release|Any CPU.Build.0 = Release|Any CPU 68 | {EAA0763F-1F78-4FC4-855B-56A00C6791CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 69 | {EAA0763F-1F78-4FC4-855B-56A00C6791CE}.Debug|Any CPU.Build.0 = Debug|Any CPU 70 | {EAA0763F-1F78-4FC4-855B-56A00C6791CE}.Release|Any CPU.ActiveCfg = Release|Any CPU 71 | {EAA0763F-1F78-4FC4-855B-56A00C6791CE}.Release|Any CPU.Build.0 = Release|Any CPU 72 | EndGlobalSection 73 | GlobalSection(SolutionProperties) = preSolution 74 | HideSolutionNode = FALSE 75 | EndGlobalSection 76 | GlobalSection(ExtensibilityGlobals) = postSolution 77 | SolutionGuid = {FADF6375-D5E5-40C4-9B2F-2CEA6B635F0B} 78 | EndGlobalSection 79 | EndGlobal 80 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SOLID 2 | SOLID Principles 3 | 4 | *Single Responsibility Principle* 5 | 6 | Problem: 7 | 8 | ```csharp 9 | class Order 10 | { 11 | public Order() 12 | { } 13 | 14 | public void PlaceOrder() 15 | { 16 | try 17 | { 18 | // Place order code goes here 19 | SendMail(); 20 | } 21 | catch (Exception ex) 22 | { 23 | throw ex; 24 | } 25 | } 26 | 27 | private void SendMail() 28 | { 29 | MailMessage mail = new MailMessage("akshay@dotnetbees.com", "akshayblevel@gmail.com"); 30 | SmtpClient client = new SmtpClient(); 31 | client.Port = 25; 32 | client.DeliveryMethod = SmtpDeliveryMethod.Network; 33 | client.UseDefaultCredentials = false; 34 | client.Host = "smtp.gmail.com"; 35 | mail.Subject = "Order Confirmation"; 36 | mail.Body = "Order is placed successfully"; 37 | client.Send(mail); 38 | } 39 | } 40 | ``` 41 | 42 | Solution: 43 | 44 | ```csharp 45 | class Mail 46 | { 47 | 48 | public static void SendMail() 49 | { 50 | MailMessage mail = new MailMessage("akshay@dotnetbees.com", "akshayblevel@gmail.com"); 51 | SmtpClient client = new SmtpClient(); 52 | client.Port = 25; 53 | client.DeliveryMethod = SmtpDeliveryMethod.Network; 54 | client.UseDefaultCredentials = false; 55 | client.Host = "smtp.gmail.com"; 56 | mail.Subject = "Order Confirmation"; 57 | mail.Body = "Order is placed successfully"; 58 | client.Send(mail); 59 | } 60 | } 61 | 62 | class Order 63 | { 64 | public Order() 65 | { } 66 | 67 | public void PlaceOrder() 68 | { 69 | try 70 | { 71 | // Place order code goes here 72 | Mail.SendMail(); 73 | } 74 | catch (Exception ex) 75 | { 76 | throw ex; 77 | } 78 | } 79 | } 80 | ``` 81 | 82 | *Open Closed Principle* 83 | 84 | Problem: 85 | 86 | ```csharp 87 | class Checkout 88 | { 89 | private string merchant; 90 | 91 | public string Merchant 92 | { 93 | get { return merchant; } 94 | set { merchant = value; } 95 | } 96 | 97 | public double CalculateShippingCost(double orderAmount) 98 | { 99 | double shippingCost = 0; 100 | switch (merchant) 101 | { 102 | case "Flipkart": 103 | shippingCost= orderAmount + (orderAmount * 0.10); 104 | break; 105 | case "Amazon": 106 | shippingCost = orderAmount + (orderAmount * 0.05); 107 | break; 108 | default: 109 | break; 110 | } 111 | return shippingCost; 112 | } 113 | 114 | } 115 | ``` 116 | 117 | Solution: 118 | 119 | ```csharp 120 | public class Checkout 121 | { 122 | public virtual double CalculateShippingCost(double orderAmount) 123 | { 124 | return orderAmount; 125 | } 126 | } 127 | 128 | class Flipkart : Checkout 129 | { 130 | public override double CalculateShippingCost(double orderAmount) 131 | { 132 | return orderAmount + (orderAmount * 0.10); 133 | } 134 | } 135 | 136 | class Amazon : Checkout 137 | { 138 | public override double CalculateShippingCost(double orderAmount) 139 | { 140 | return orderAmount + (orderAmount * 0.05); 141 | } 142 | } 143 | ``` 144 | 145 | *Liskov Substitution Principle* 146 | 147 | Problem: 148 | 149 | ```csharp 150 | abstract class Payment 151 | { 152 | public abstract void CheckBalance(); 153 | 154 | public abstract void DeductAmount(); 155 | 156 | public abstract void ProcessTransaction(); 157 | 158 | } 159 | 160 | class Paypal : Payment 161 | { 162 | public override void CheckBalance() 163 | { 164 | Console.WriteLine("CheckBalance Method Called"); 165 | } 166 | 167 | public override void DeductAmount() 168 | { 169 | Console.WriteLine("DeductAmount Method Called"); 170 | } 171 | 172 | public override void ProcessTransaction() 173 | { 174 | Console.WriteLine("ProcessTransaction Method Called"); 175 | } 176 | } 177 | 178 | class COD : Payment 179 | { 180 | public override void CheckBalance() 181 | { 182 | throw new NotImplementedException(); 183 | } 184 | 185 | public override void DeductAmount() 186 | { 187 | throw new NotImplementedException(); 188 | } 189 | 190 | public override void ProcessTransaction() 191 | { 192 | Console.WriteLine("ProcessTransaction Method Called"); 193 | } 194 | } 195 | ``` 196 | 197 | Solution: 198 | 199 | ```csharp 200 | abstract class Payment 201 | { 202 | public abstract void ProcessTransaction(); 203 | 204 | } 205 | 206 | interface IPayment 207 | { 208 | void CheckBalance(); 209 | void DeductAmount(); 210 | } 211 | 212 | class Paypal : Payment,IPayment 213 | { 214 | public void CheckBalance() 215 | { 216 | Console.WriteLine("CheckBalance Method Called"); 217 | } 218 | 219 | public void DeductAmount() 220 | { 221 | Console.WriteLine("DeductAmount Method Called"); 222 | } 223 | 224 | public override void ProcessTransaction() 225 | { 226 | Console.WriteLine("ProcessTransaction Method Called"); 227 | } 228 | } 229 | 230 | class COD : Payment 231 | { 232 | public override void ProcessTransaction() 233 | { 234 | Console.WriteLine("ProcessTransaction Method Called"); 235 | } 236 | } 237 | ``` 238 | 239 | *Interface Segregation Principle* 240 | 241 | Problem: 242 | 243 | ```csharp 244 | interface IOrder 245 | { 246 | void CalculateShippingCost(); 247 | void ProcessPayment(); 248 | void PlaceOrder(); 249 | } 250 | class StorePickupOrder : IOrder 251 | { 252 | public void CalculateShippingCost() 253 | { 254 | throw new NotImplementedException(); 255 | } 256 | 257 | public void PlaceOrder() 258 | { 259 | Console.WriteLine("PlaceOrder Method is Called"); 260 | } 261 | 262 | public void ProcessPayment() 263 | { 264 | Console.WriteLine("ProcessPayment Method is Called"); 265 | } 266 | } 267 | 268 | class HomeDeliveryOrder : IOrder 269 | { 270 | public void CalculateShippingCost() 271 | { 272 | Console.WriteLine("CalculateShippingCost Method is Called"); 273 | } 274 | 275 | public void PlaceOrder() 276 | { 277 | Console.WriteLine("PlaceOrder Method is Called"); 278 | } 279 | 280 | public void ProcessPayment() 281 | { 282 | Console.WriteLine("ProcessPayment Method is Called"); 283 | } 284 | } 285 | ``` 286 | 287 | Solution: 288 | 289 | ```csharp 290 | interface IShippingCost 291 | { 292 | void CalculateShippingCost(); 293 | } 294 | interface IOrder 295 | { 296 | void ProcessPayment(); 297 | void PlaceOrder(); 298 | } 299 | 300 | class StorePickupOrder : IOrder 301 | { 302 | public void PlaceOrder() 303 | { 304 | Console.WriteLine("PlaceOrder Method is Called"); 305 | } 306 | 307 | public void ProcessPayment() 308 | { 309 | Console.WriteLine("ProcessPayment Method is Called"); 310 | } 311 | } 312 | 313 | class HomeDeliveryOrder : IShippingCost,IOrder 314 | { 315 | public void CalculateShippingCost() 316 | { 317 | Console.WriteLine("CalculateShippingCost Method is Called"); 318 | } 319 | public void PlaceOrder() 320 | { 321 | Console.WriteLine("PlaceOrder Method is Called"); 322 | } 323 | 324 | public void ProcessPayment() 325 | { 326 | Console.WriteLine("ProcessPayment Method is Called"); 327 | } 328 | } 329 | ``` 330 | 331 | *Dependency Inversion Principle* 332 | 333 | ```csharp 334 | class Mail 335 | { 336 | 337 | public void SendMail() 338 | { 339 | MailMessage mail = new MailMessage("akshay@dotnetbees.com", "akshayblevel@gmail.com"); 340 | SmtpClient client = new SmtpClient(); 341 | client.Port = 25; 342 | client.DeliveryMethod = SmtpDeliveryMethod.Network; 343 | client.UseDefaultCredentials = false; 344 | client.Host = "smtp.gmail.com"; 345 | mail.Subject = "Order Confirmation"; 346 | mail.Body = "Order is placed successfully"; 347 | client.Send(mail); 348 | } 349 | } 350 | 351 | class Order 352 | { 353 | Mail mail = new Mail(); 354 | public Order() 355 | { } 356 | 357 | public void PlaceOrder() 358 | { 359 | try 360 | { 361 | // Place order code goes here 362 | mail.SendMail(); 363 | } 364 | catch (Exception ex) 365 | { 366 | throw ex; 367 | } 368 | } 369 | } 370 | ``` 371 | 372 | Solution: 373 | 374 | ```csharp 375 | interface IMail 376 | { 377 | void SendMail(); 378 | } 379 | class Mail : IMail 380 | { 381 | public void SendMail() 382 | { 383 | MailMessage mail = new MailMessage("akshay@dotnetbees.com", "akshayblevel@gmail.com"); 384 | SmtpClient client = new SmtpClient(); 385 | client.Port = 25; 386 | client.DeliveryMethod = SmtpDeliveryMethod.Network; 387 | client.UseDefaultCredentials = false; 388 | client.Host = "smtp.gmail.com"; 389 | mail.Subject = "Order Confirmation"; 390 | mail.Body = "Order is placed successfully"; 391 | client.Send(mail); 392 | } 393 | } 394 | 395 | class Order 396 | { 397 | IMail mail; 398 | public Order(IMail mail) 399 | { 400 | this.mail = mail; 401 | } 402 | 403 | public void PlaceOrder() 404 | { 405 | try 406 | { 407 | // Place order code goes here 408 | mail.SendMail(); 409 | } 410 | catch (Exception ex) 411 | { 412 | throw ex; 413 | } 414 | } 415 | } 416 | ``` 417 | --------------------------------------------------------------------------------