namespace AbstractFactorypattern { interface IPackage { string Package(); } interface IDesignation { string Designation(); } interface ILocation { string Location(); } }
namespace AbstractFactorypattern { //TCS class TCSPcakage:IPackage { public string Package() { return "TCS: 10 lakhs"; } } class TCSDesignation : IDesignation { public string Designation() { return "TCS: .net Developer"; } } class TCSLocation : ILocation { public string Location() { return "TCS: UK"; } } //WIPRO class WIPROPcakage : IPackage { public string Package() { return "WIPRO: 10 lakhs"; } } class WIPRODesignation : IDesignation { public string Designation() { return "WIPRO: .net Developer"; } } class WIPROLocation : ILocation { public string Location() { return "WIPRO: UK"; } } //INFO class INFOPcakage : IPackage { public string Package() { return "INFO: 10 lakhs"; } } class INFODesignation : IDesignation { public string Designation() { return "INFO: .net Developer"; } } class INFOLocation : ILocation { public string Location() { return "INFO: UK"; } } }
namespace AbstractFactorypattern { interface IAbstractFactory { IPackage GetPackage(); IDesignation GetDesignation(); ILocation GetLocation(); } }
namespace AbstractFactorypattern { class ConcreateFactoryTCS:IAbstractFactory { public IPackage GetPackage() { return new TCSPcakage(); } public IDesignation GetDesignation() { return new TCSDesignation(); } public ILocation GetLocation() { return new TCSLocation(); } } //WIPRO class ConcreateFactoryWIPRO : IAbstractFactory { public IPackage GetPackage() { return new WIPROPcakage(); } public IDesignation GetDesignation() { return new WIPRODesignation(); } public ILocation GetLocation() { return new WIPROLocation(); } } //INFO class ConcreateFactoryINFO : IAbstractFactory { public IPackage GetPackage() { return new INFOPcakage(); } public IDesignation GetDesignation() { return new INFODesignation(); } public ILocation GetLocation() { return new INFOLocation(); } } }
static void Main(string[] args) { IAbstractFactory objiabs = null; Console.WriteLine("Enter Company"); string companyname = Console.ReadLine(); if (companyname != null) switch (companyname) { case "tcs": objiabs=new ConcreateFactoryTCS(); break; case "wipro": objiabs = new ConcreateFactoryWIPRO(); break; case "info": objiabs =new ConcreateFactoryINFO(); break; } Console.WriteLine(objiabs.GetPackage().Package()); Console.WriteLine(objiabs.GetDesignation().Designation()); Console.WriteLine(objiabs.GetLocation().Location()); Console.Read(); }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)