示例#1
0
        static void Main(string[] args)
        {
            // ======== SIMPLE FACTORY ===========
            var smBank = SimpleFactory.getBank("DABank");

            Console.WriteLine(smBank.getBankName());
            //Console.Read();

            // ======== FACTORY METHOD ===========
            IBank fmBank = FactoryMethod.getBank("ACBBank");

            Console.WriteLine(fmBank.getBankName());
            //Console.Read();


            // ABSTRACT FACTORY - show screnario create factory and furniture
            IFurnitureAbstractFactory factory = FurnitureFactory.getFactory(MaterialType.FLASTIC);
            IChair chair = factory.createChair();

            chair.create();
            ITable table = factory.createTable();

            table.create();

            // ABSTRACT FACTORY - hide screnario create factory and furniture
            // can not use var c = ...
            IChair c = FurnitureFactory.createFurniture(MaterialType.WOOD, FurnitureType.CHAIR);

            c.create();
            Console.Read();
        }
示例#2
0
 public static FurnitureFactory GetFurnitureFactory()
 {
     if (furnitureFactory == null)
     {
         furnitureFactory = new FurnitureFactory();
     }
     return(furnitureFactory);
 }
示例#3
0
 public Furniture(string model, string material, decimal price, decimal height)
 {
     this.Model        = model;
     this.Material     = material;
     this.Price        = price;
     this.Height       = height;
     this.materialType = FurnitureFactory.GetMaterialType(material);
 }
        public void CreateNewConvertibleChair_WhenCreateConvertibleChairWithValidDataIsPassed()
        {
            var factory = new FurnitureFactory();

            var newConvertibleChair = factory.CreateConvertibleChair("Visage", "Wood", 65, 1.20m, 4);

            Assert.IsInstanceOf(typeof(ConvertibleChair), newConvertibleChair);
        }
        public void CreateNewTable_WhenCreateTableWithValidDataIsPassed()
        {
            var factory = new FurnitureFactory();

            var newTable = factory.CreateTable("Victoria", "Wood", 120, 100, 200, 200);

            Assert.IsInstanceOf(typeof(Table), newTable);
        }
示例#6
0
        static void Main(string[] args)
        {
            var woodFactory    = FurnitureFactory.getFactory(MaterialType.FLASTIC);
            var plasticFactory = FurnitureFactory.getFactory(MaterialType.WOOD);

            //woodFactory.createChair().Create();
            //plasticFactory.createTable().Create();
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            var factory = FurnitureFactory.GetFactory(MaterialType.WOOD);
            var chair   = factory.CreateChair();

            chair.Create();

            var table = factory.CreateTable();

            table.Create();
            Console.ReadLine();
        }
示例#8
0
    static void Main(string[] args)
    {
        FurnitureFactory fFactory = null;

        string mappedChoice = null;

        do
        {
            Console.WriteLine("Please select a furniture set below: \n1) French\n2) Italian\n3) Japanese");

            string choice = Console.ReadLine();
            switch (choice)
            {
            case "1":
                mappedChoice = "FRENCH";
                break;

            case "2":
                mappedChoice = "ITALIAN";
                break;

            case "3":
                mappedChoice = "JAPANESE";
                break;

            default:
                break;
            }
        }while (mappedChoice == null);

        fFactory = FurnitureFactory.createFurnitureFactory(mappedChoice);
        fFactory.buildFurniture();
        Console.WriteLine("-----------------------");
        Console.WriteLine(fFactory.viewFurniture().getType() + " Furniture set is ready to be shipped.");
        Console.WriteLine("Contents:\nChair - " + fFactory.viewFurniture().getChair().getStyle() +
                          "\nTable - " + fFactory.viewFurniture().getTable().getStyle() +
                          "\nSofa - " + fFactory.viewFurniture().getSofa().getStyle());
    }
示例#9
0
        public void TestMethod2()
        {
            FurnitureFactory test2 = new FurnitureFactory();

            Assert.AreEqual(500, test2.workers);
        }
示例#10
0
 private void PrintResult(FurnitureFactory factory)
 {
     lbChair.Content = "Chair : " + factory.createChair().HasLeg() + " " + factory.createChair().Sit();
     lbSofa.Content  = "Sofa : " + factory.createSofa().HasLeg() + " " + factory.createSofa().Sit();
     lbTable.Content = "Table : " + factory.createTable().HasLeg() + " " + factory.createTable().Put();
 }
示例#11
0
 public AbstractFactoryClient(FurnitureFactory factory)
 {
     _chair = factory.CreateChair();
     _sofa  = factory.CreateSofa();
     _table = factory.CreateTable();
 }