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); }
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); }