コード例 #1
0
ファイル: VehicleManager.cs プロジェクト: evak2979/DPs
 public VehicleManager()
 {
     saloon = new Saloon(new StandardEngine(1300));
     coupe  = new Coupe(new StandardEngine(1300));
     sport  = new Sport(new StandardEngine(1300));
     boxvan = new BoxVan(new StandardEngine(1300));
     pickup = new PickUp(new StandardEngine(1300));
 }
コード例 #2
0
 public virtual IVehicle CreateBoxVan()
 {
     if (boxVan == null)
     {
         boxVan = new BoxVan(new StandardEngine(1300));
     }
     return (IVehicle)boxVan.Clone();
 }
コード例 #3
0
        public VanRange()
        {
            vans = new IVehicle[3];

            // Define the range of van models available
            vans[0] = new BoxVan(new StandardEngine(1600));
            vans[1] = new BoxVan(new StandardEngine(2000));
            vans[2] = new Pickup(new TurboEngine(2200));
        }
コード例 #4
0
        static void Main(string[] args)
        {
            // example usage of builder pattern
            // to build a van
            AbstractVan     van        = new BoxVan(new StandardEngine(2000), VehicleColour.Red);
            VehiclBuilder   vanBuilder = new VanBuilder(van);
            VehicleDirector director   = new VanDirector();
            IVehicle        v          = director.Build(vanBuilder);

            Console.WriteLine(v);
            Console.Read();
        }
コード例 #5
0
        protected internal override IVehicle SelectVehicle
            (DrivingStyle style)
        {
            IVehicle selectedVehicle;

            if ((style == DrivingStyle.Economical) ||
                (style == DrivingStyle.Midrange))
            {
                selectedVehicle = new Pickup(new StandardEngine(2200));
            }
            else
            {
                selectedVehicle = new BoxVan(new TurboEngine(2500));
            }

            return(selectedVehicle);
        }