/// <summary>
        /// Simulates the client code only knowing it gets a Factory.
        /// Probably some service/handler that gets injected with the IFurnitureFactory
        /// but does not know what implementation types
        /// </summary>
        private static void DescribeChair(IFurnitureFactory factory)
        {
            IChair chair = factory.CreateChair();

            chair.SitOn();
            chair.HasLegs();
        }
 private FurnitureManufacturerEngine(ICompanyFactory companyFactory, IFurnitureFactory furnitureFactory, IDataBase database, IRenderer renderer)
 {
     this.companyFactory   = companyFactory;
     this.furnitureFactory = furnitureFactory;
     this.database         = database;
     this.renderer         = renderer;
 }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Введите тип мебели: современный - 1 или викторианский - 2");
            int.TryParse(Console.ReadLine(), out int clientChoice);
            IFurnitureFactory factory = null;

            if (clientChoice == 1)
            {
                factory = new ModernFurnitureFactory();
            }
            else if (clientChoice == 2)
            {
                factory = new VictorianFurnitureFactory();
            }
            else
            {
                Console.WriteLine("Please enter the correct type of furniture");
            }

            Client client = new Client(factory);

            client.CreateFurniture();

            client.SitDown();
            client.LieDown();

            Console.ReadLine();
        }
        public void ClientMethod(IFurnitureFactory furnitureFactory)
        {
            var productA = furnitureFactory.CreateChair();
            var productB = furnitureFactory.CreateSofa();

            System.Console.WriteLine(productA.UseFullFunction());
        }
 private FurnitureManufacturerEngine()
 {
     this.companyFactory   = new CompanyFactory();
     this.furnitureFactory = new FurnitureFactory();
     this.companies        = new Dictionary <string, ICompany>();
     this.furnitures       = new Dictionary <string, IFurniture>();
     this.renderer         = new ConsoleRenderer();
 }
Ejemplo n.º 6
0
        public void ClientMethod(IFurnitureFactory factory)
        {
            var chair = factory.CreateChair();
            var sofa  = factory.CreateSofa();

            Console.WriteLine(sofa.Type());
            Console.WriteLine(sofa.Print(chair));
        }
Ejemplo n.º 7
0
        static void CreateFurniture(IFurnitureFactory factory)
        {
            factory.CreateChair().ShowInfo();
            factory.CreateSofa().ShowInfo();
            factory.CreateTable().ShowInfo();

            Console.WriteLine();
        }
Ejemplo n.º 8
0
 private FurnitureManufacturerEngine()
 {
     this.companyFactory = new CompanyFactory();
     this.furnitureFactory = new FurnitureFactory();
     this.companies = new Dictionary<string, ICompany>();
     this.furnitures = new Dictionary<string, IFurniture>();
     this.renderer = new ConsoleRenderer();
 }
Ejemplo n.º 9
0
        private static void CreateFurniture(IFurnitureFactory factory)
        {
            var chair = factory.CreateChair();
            var sofa  = factory.CreateSofa();
            var table = factory.CreateTable();

            chair.PrintInfo();
            sofa.PrintInfo();
            table.PrintInfo();
        }
Ejemplo n.º 10
0
        static IFurnitureFactory BuildFactory(string option)
        {
            IFurnitureFactory factory = null;

            switch (option)
            {
            case "1": factory = new VictorianFurnitureFactory(); break;

            case "2": factory = new ModernFurnitureFactory(); break;
            }
            return(factory);
        }
Ejemplo n.º 11
0
        // dependency injection

        public FurnitureManufacturerEngine
        (
            ICompanyFactory companyFactory,
            IFurnitureFactory furnitureFactory,
            IRenderer renderer
        )
        {
            this.companyFactory   = companyFactory;
            this.furnitureFactory = furnitureFactory;
            this.renderer         = renderer;
            this.companies        = new Dictionary <string, ICompany>();
            this.furnitures       = new Dictionary <string, IFurniture>();
        }
Ejemplo n.º 12
0
        static void RunApplication(IFurnitureFactory factory)
        {
            var chair = factory.CreateChair();
            var sofa  = factory.CreateSofa();

            WriteLine($"This chair has{(chair.HasLegs() ? "": " not")} legs");
            WriteLine($"This sofa has{(sofa.HasLegs() ? "" : " not")} legs");

            chair.SeatOn();
            sofa.SeatOn();

            ReadLine();
        }
        private void ClientMethod(IFurnitureFactory factory)
        {
            var chair = factory.CreateChair();

            _testOutputHelper.WriteLine(chair.SittingOnChair());

            var sofa = factory.CreateSofa();

            _testOutputHelper.WriteLine(sofa.SittingOnSofa());

            var coffeeTable = factory.CreateCoffeeTable();

            _testOutputHelper.WriteLine(coffeeTable.UseTable());
        }
Ejemplo n.º 14
0
        static void Main(string[] args)
        {
            var selectedCollection = "victorian";
            IFurnitureFactory victorianFurnitureFactory = GetFurnitureFactory(selectedCollection);

            PrintSelectedCollectionDetails(victorianFurnitureFactory, selectedCollection);

            selectedCollection = "modern";
            IFurnitureFactory modernFurnitureFactory = GetFurnitureFactory(selectedCollection);

            PrintSelectedCollectionDetails(modernFurnitureFactory, selectedCollection);

            Console.ReadKey();
        }
Ejemplo n.º 15
0
        public static void ClientMethod(IFurnitureFactory factory)
        {
            Console.WriteLine($"---------------Order in {factory}---------------");
            var chair = factory.CreateChair();

            chair.hasLegs();
            chair.sitOn();
            var sofa = factory.CreateSofa();

            sofa.hasBack();
            sofa.hasLegs();
            sofa.lieOn();
            sofa.sitOn();
        }
Ejemplo n.º 16
0
        static void Main(string[] args)
        {
            IFurnitureFactory factory = null;

            factory = new ArDecoFurnitureFactory();
            CreateFurniture(factory);

            factory = new VictorianFurnitureFactory();
            CreateFurniture(factory);

            factory = new ModernFurnitureFactory();
            CreateFurniture(factory);

            Console.ReadKey();
        }
Ejemplo n.º 17
0
            public static string[] Run(IFurnitureFactory factory)
            {
                var chair1 = factory.CreateChair();
                var chair2 = factory.CreateChair();
                var table  = factory.CreateTable();


                return(new[] {
                    $"Price for chair1: {chair1.Price}",
                    $"Price for chair2: {chair2.Price}",
                    $"Price for table: {table.Price}",
                    $"Number of chairs to get discount: {table.NrOfChairsToGetDiscount}",
                    $"Price for table with chair1 and chair2: {(int)table.PriceWithChairs(chair1,chair2)}"
                });
            }
Ejemplo n.º 18
0
        private static void PrintSelectedCollectionDetails(IFurnitureFactory furnitureFactory, string selectedCollection)
        {
            var chair       = furnitureFactory.CreateChair();
            var coffeeTable = furnitureFactory.CreateCoffeeTable();
            var sofa        = furnitureFactory.CreateSofa();

            Console.WriteLine($"***** collection name: {selectedCollection} *****");
            Console.WriteLine($"Chair{Environment.NewLine}" +
                              $"Design: {chair.Design} {Environment.NewLine}" +
                              $"Construction: {chair.Construction} {Environment.NewLine}");

            Console.WriteLine($"Coffee Table{Environment.NewLine}" +
                              $"Design: {coffeeTable.Design} {Environment.NewLine}" +
                              $"Construction: {coffeeTable.Construction} {Environment.NewLine}");

            Console.WriteLine($"Sofa{Environment.NewLine}" +
                              $"Design: {sofa.Design} {Environment.NewLine}" +
                              $"Construction: {sofa.Construction} {Environment.NewLine}");
        }
 protected CreateFurnitureCommand(IFurnitureFactory furnitureFactory, IFurnitureRepository furnitureRepository)
 {
     FurnitureFactory    = furnitureFactory;
     FurnitureRepository = furnitureRepository;
 }
 public CreateTableCommand(IDataStore dataStore, IFurnitureFactory furnitureFactory)
 {
     this.furnitureFactory = furnitureFactory;
     this.dataStore        = dataStore;
 }
Ejemplo n.º 21
0
 public CreateChairCommand(IData data, IFurnitureFactory factory)
 {
     this.data    = data;
     this.factory = factory;
 }
Ejemplo n.º 22
0
 public Factory(IFurnitureFactory factory)
 {
     _bed   = factory.CreateBed();
     _chair = factory.CreateChair();
 }
Ejemplo n.º 23
0
 public Client(IFurnitureFactory factory)
 {
     Chair = factory.CreateChair();
     Table = factory.CreateTable();
 }
 public CreateChairCommand(IDataStore data, IFurnitureFactory factory, Constants constants)
 {
     this.data      = data;
     this.factory   = factory;
     this.constants = constants;
 }
Ejemplo n.º 25
0
 public Client(IFurnitureFactory factory)
 {
     Factory = factory;
 }
Ejemplo n.º 26
0
 public CreateTableCommand(IFurnitureFactory furnitureFactory, IFurnitureRepository furnitureRepository) :
     base(furnitureFactory, furnitureRepository)
 {
 }
 public CreateChairCommand(IDataStore dataStore, IFurnitureFactory furnitureFactory)
 {
     this.dataStore        = dataStore;
     this.furnitureFactory = furnitureFactory;
 }