Пример #1
0
        private static void MakeMeABoatAbstractFactoryPattern()
        {
            string whatToMake             = "Sail Boat";
            AbstractBoatFactory factory   = null;
            IBoatColor          boatColor = null;

            if (whatToMake.Equals("Sail Boat"))
            {
                factory   = new SailBoatFactory();
                boatColor = factory.CreateBoatColor("Blue", true);
            }
            else
            {
                factory   = new MotorBoatFactory();
                boatColor = factory.CreateBoatColor("Green", false);
            }

            IBoatBody  boatBody  = factory.CreateBoatBody();
            IBoatMotor boatMotor = factory.CreateBoatMotor();

            //Show what was created
            Console.WriteLine(boatBody.BoatBodyStyle);
            Console.WriteLine(boatMotor.MotorSize);
            Console.WriteLine(boatColor.BoatColor);
        }
Пример #2
0
        private static void AbstractFactoryPatternDemo()
        {
            string whatToMake           = "Fishing Boat";
            AbstractBoatFactory factory = null;

            if (whatToMake.Equals("Fishing Boat"))
            {
                factory = new FishingBoatFactory();
            }
            else
            {
                factory = new PleasureBoatFactory();
            }
            // create the boat parts
            IBoatFrame boatFrame = factory.CreateBoatFrame();
            IBoatSeat  boatSeat  = factory.CreateBoatSeat();

            // show what we created
            Console.WriteLine(boatFrame.BoatFrameParts);
            Console.WriteLine(boatSeat.BoatSeatParts);
        }