├── .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
--------------------------------------------------------------------------------