├── .vs └── AbstractFactory │ └── v15 │ ├── .suo │ └── sqlite3 │ └── storage.ide ├── AbstractFactory.sln └── AbstractFactory ├── AbstractFactory.csproj ├── AbstractFactory └── Investment.cs ├── AbstractProduct ├── FixDeposit.cs └── MutualFund.cs ├── App.config ├── ConcreteFactory ├── PrivateSector.cs └── PublicSector.cs ├── ConcreteProduct ├── GovtFund.cs ├── ICICI.cs ├── RelianceFund.cs └── SBI.cs ├── Program.cs ├── Properties └── AssemblyInfo.cs ├── bin └── Debug │ ├── AbstractFactory.exe │ ├── AbstractFactory.exe.config │ └── AbstractFactory.pdb └── obj └── Debug ├── AbstractFactory.csproj.CoreCompileInputs.cache ├── AbstractFactory.csproj.FileListAbsolute.txt ├── AbstractFactory.exe ├── AbstractFactory.pdb ├── DesignTimeResolveAssemblyReferencesInput.cache ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs /.vs/AbstractFactory/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/.vs/AbstractFactory/v15/.suo -------------------------------------------------------------------------------- /.vs/AbstractFactory/v15/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/.vs/AbstractFactory/v15/sqlite3/storage.ide -------------------------------------------------------------------------------- /AbstractFactory.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}") = "AbstractFactory", "AbstractFactory\AbstractFactory.csproj", "{DC2710A9-FAFC-4245-BCD6-29B4D5C8FB9C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {DC2710A9-FAFC-4245-BCD6-29B4D5C8FB9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {DC2710A9-FAFC-4245-BCD6-29B4D5C8FB9C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {DC2710A9-FAFC-4245-BCD6-29B4D5C8FB9C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {DC2710A9-FAFC-4245-BCD6-29B4D5C8FB9C}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {36A63EE6-DD0C-47D4-AB8E-940FF65700BF} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /AbstractFactory/AbstractFactory.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {DC2710A9-FAFC-4245-BCD6-29B4D5C8FB9C} 8 | Exe 9 | AbstractFactory 10 | AbstractFactory 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 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /AbstractFactory/AbstractFactory/Investment.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 AbstractFactory 8 | { 9 | abstract class Investment 10 | { 11 | public abstract FixDeposit FD(); 12 | public abstract MutualFund MF(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /AbstractFactory/AbstractProduct/FixDeposit.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 AbstractFactory 8 | { 9 | abstract class FixDeposit 10 | { 11 | public abstract void Deposit(double amount); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /AbstractFactory/AbstractProduct/MutualFund.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 AbstractFactory 8 | { 9 | abstract class MutualFund 10 | { 11 | public abstract void Deposit(double amount); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /AbstractFactory/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AbstractFactory/ConcreteFactory/PrivateSector.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 AbstractFactory 8 | { 9 | class PrivateSector : Investment 10 | { 11 | public override FixDeposit FD() 12 | { 13 | return new ICICI(); 14 | } 15 | 16 | public override MutualFund MF() 17 | { 18 | return new RelianceFund(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /AbstractFactory/ConcreteFactory/PublicSector.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 AbstractFactory 8 | { 9 | class PublicSector : Investment 10 | { 11 | public override FixDeposit FD() 12 | { 13 | return new SBI(); 14 | } 15 | 16 | public override MutualFund MF() 17 | { 18 | return new GovtFund(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /AbstractFactory/ConcreteProduct/GovtFund.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 AbstractFactory 8 | { 9 | class GovtFund : MutualFund 10 | { 11 | public override void Deposit(double amount) 12 | { 13 | Console.WriteLine("Mutual Fund of INR " + amount + " is done in Goverment Fund"); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AbstractFactory/ConcreteProduct/ICICI.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 AbstractFactory 8 | { 9 | class ICICI : FixDeposit 10 | { 11 | public override void Deposit(double amount) 12 | { 13 | Console.WriteLine("Fix Deposit of INR " + amount + " is done in ICICI"); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AbstractFactory/ConcreteProduct/RelianceFund.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 AbstractFactory 8 | { 9 | class RelianceFund : MutualFund 10 | { 11 | public override void Deposit(double amount) 12 | { 13 | Console.WriteLine("Mutual Fund of INR " + amount + " is done in Reliance Fund"); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AbstractFactory/ConcreteProduct/SBI.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 AbstractFactory 8 | { 9 | class SBI : FixDeposit 10 | { 11 | public override void Deposit(double amount) 12 | { 13 | Console.WriteLine("Fix Deposit of INR " + amount + " is done in SBI"); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AbstractFactory/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 AbstractFactory 8 | { 9 | class Program 10 | { 11 | static void Main(string[] args) 12 | { 13 | Investment investment = null; 14 | 15 | Console.WriteLine("Select Investment Area"); 16 | Console.WriteLine("----------------------"); 17 | Console.WriteLine("1. Public Sector"); 18 | Console.WriteLine("2. Private Sector"); 19 | Console.WriteLine("----------------------"); 20 | 21 | switch (Console.ReadLine()) 22 | { 23 | case "1": 24 | investment = new PublicSector(); 25 | break; 26 | case "2": 27 | investment = new PrivateSector(); 28 | break; 29 | default: 30 | break; 31 | } 32 | 33 | investment.FD().Deposit(10000); 34 | Console.ReadLine(); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /AbstractFactory/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("AbstractFactory")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("AbstractFactory")] 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("dc2710a9-fafc-4245-bcd6-29b4d5c8fb9c")] 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 | -------------------------------------------------------------------------------- /AbstractFactory/bin/Debug/AbstractFactory.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/AbstractFactory/bin/Debug/AbstractFactory.exe -------------------------------------------------------------------------------- /AbstractFactory/bin/Debug/AbstractFactory.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AbstractFactory/bin/Debug/AbstractFactory.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/AbstractFactory/bin/Debug/AbstractFactory.pdb -------------------------------------------------------------------------------- /AbstractFactory/obj/Debug/AbstractFactory.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 4ae17e8b9a746988d9513642f16cce5978707ee2 2 | -------------------------------------------------------------------------------- /AbstractFactory/obj/Debug/AbstractFactory.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AKKI_DEV\RND\DP\AbstractFactory\AbstractFactory\obj\Debug\AbstractFactory.csproj.CoreCompileInputs.cache 2 | D:\AKKI_DEV\RND\DP\AbstractFactory\AbstractFactory\bin\Debug\AbstractFactory.exe.config 3 | D:\AKKI_DEV\RND\DP\AbstractFactory\AbstractFactory\bin\Debug\AbstractFactory.exe 4 | D:\AKKI_DEV\RND\DP\AbstractFactory\AbstractFactory\bin\Debug\AbstractFactory.pdb 5 | D:\AKKI_DEV\RND\DP\AbstractFactory\AbstractFactory\obj\Debug\AbstractFactory.exe 6 | D:\AKKI_DEV\RND\DP\AbstractFactory\AbstractFactory\obj\Debug\AbstractFactory.pdb 7 | -------------------------------------------------------------------------------- /AbstractFactory/obj/Debug/AbstractFactory.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/AbstractFactory/obj/Debug/AbstractFactory.exe -------------------------------------------------------------------------------- /AbstractFactory/obj/Debug/AbstractFactory.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/AbstractFactory/obj/Debug/AbstractFactory.pdb -------------------------------------------------------------------------------- /AbstractFactory/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/AbstractFactory/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /AbstractFactory/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/AbstractFactory/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /AbstractFactory/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/AbstractFactory/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /AbstractFactory/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akshayblevel/AbstractFactory-Design-Pattern/4cc1d36e56afcac2a5c6fef9db018ce3b0d79519/AbstractFactory/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs --------------------------------------------------------------------------------