コード例 #1
0
        public static void Main1(string[] args)
        {
            AbstractFactory appleFactory  = FactoryProducer.GetFactory("Apple");
            AbstractFactory huaweiFactory = FactoryProducer.GetFactory("Huawei");
            //AbstractFactory xiaomiFactory = FactoryProducer.GetFactory("Xiaomi");

            Phone applePhone = appleFactory.GetPhone();

            applePhone.Call();
            Computer appleComputer = appleFactory.GetComputer();

            appleComputer.Work();
            Pad applePad = appleFactory.GetPad();

            applePad.Play();


            Phone huaweiPhone = huaweiFactory.GetPhone();

            huaweiPhone.Call();
            Computer huaweiComputer = huaweiFactory.GetComputer();

            huaweiComputer.Work();
            Pad huaweiPad = huaweiFactory.GetPad();

            huaweiPad.Play();

            //Console.WriteLine();

            //Phone xiaomiPhone = xiaomiFactory.GetPhone();
            //xiaomiPhone.Call();
            //Computer xiaomiComputer = xiaomiFactory.GetComputer();
            //xiaomiComputer.Work();
            //Pad xiaomiPad = xiaomiFactory.GetPad();
            //xiaomiPad.Play();
        }
コード例 #2
0
 public AbstractFactoryPatternDemo(AbstractFactory factory)
 {
     abstractProductA = factory.createAbstractProductA();
     abstractProductB = factory.createAbstractProductB();
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: work8/DesignPattern
 Client(AbstractFactory abstractFactory)
 {
     absB = abstractFactory.CreateProductB();
     absA = abstractFactory.CreateProductA();
 }
コード例 #4
0
 // Constructor
 public Client(AbstractFactory factory)
 {
     _abstractEmployeeB = factory.CreateEmployeeB();
     _abstractEmployeeA = factory.CreateEmployeeA();
 }
コード例 #5
0
ファイル: Client.cs プロジェクト: fxz5/DesignPatterns
 /// <summary>
 /// Initializes a new instance of the <see cref="AbstractFactoryPattern.Client"/> class.
 /// </summary>
 /// <param name="factory">The factory to use to create products.</param>
 public Client(AbstractFactory factory)
 {
     _abstractProductA = factory.CreateProductA();
     _abstractProductB = factory.CreateProductB();
 }