Пример #1
0
        static void Main(string[] args)
        {
            //Standard builder pattern using
            Console.WriteLine("BMW car builder:");
            var bmwBuilder = new BMWBuilder();

            bmwBuilder.BuildFrame();
            bmwBuilder.BuildEngine();
            bmwBuilder.BuildWheels();
            bmwBuilder.BuildSafety();
            Console.WriteLine(bmwBuilder.GetCar());

            //Builder pattern with fabric pattern
            Console.WriteLine("\nAUDI regular car builder:");
            var audiRegular = new RegularCar(new AudiBuilder());

            Console.WriteLine(audiRegular.Construct());

            Console.WriteLine("\nBMW luxury car builder:");
            var bmwLuxury = new LuxuryCar(new BMWBuilder());

            Console.WriteLine(bmwLuxury.Construct());

            Console.ReadLine();
        }
Пример #2
0
        internal static VehicleGarageCard CreateFirstCard(
            string i_OwnerName,
            string i_OwnerPhone,
            string i_ModelName,
            string i_LicenseNumber,
            string i_WheelManufacturerName,
            eVehiclesType i_VehicleType)
        {
            Vehicle toReturn;

            switch (i_VehicleType)
            {
            case eVehiclesType.ElectricMotorcycle:
            case eVehiclesType.FuelBasedMotorcycle:
                toReturn = new MotorCycle(i_ModelName, i_LicenseNumber, i_WheelManufacturerName, i_VehicleType);
                break;

            case eVehiclesType.ElectricCar:
            case eVehiclesType.FuelBasedCar:
                toReturn = new RegularCar(i_ModelName, i_LicenseNumber, i_WheelManufacturerName, i_VehicleType);
                break;

            default:
                toReturn = new Truck(i_ModelName, i_LicenseNumber, i_WheelManufacturerName, i_VehicleType);
                break;
            }

            VehicleGarageCard cardToReturn = new VehicleGarageCard(i_OwnerName, i_OwnerPhone, toReturn);

            return(cardToReturn);
        }