public void BuilderTest()
        {
            ShopDirector    director    = new ShopDirector();
            IVehicleBuilder bikeBuilder = new BikeBuilder();
            IVehicleBuilder carBuilder  = new CarBuilder();

            VehicleProduct bikeProduct = director.ConstructVehicleProduct(bikeBuilder);
            VehicleProduct carProduct  = director.ConstructVehicleProduct(carBuilder);

            bikeProduct.DisplayProduct();
            Console.WriteLine();
            carProduct.DisplayProduct();
        }
    void Start()
    {
        VehicleBuilderBase carBuilder  = new CarBuilder();
        VehicleBuilderBase bikeBuilder = new BikeBuilder();

        vehicleDirector.Construct(carBuilder);
        vehicleDirector.Construct(bikeBuilder);

        Vehicle carInfo  = carBuilder.GetVehicle();
        Vehicle bikeInfo = bikeBuilder.GetVehicle();


        Debug.Log(carInfo.VehicleName + " got " + carInfo.VehicleParts.Count + " parts");
        Debug.Log(bikeInfo.VehicleName + " got " + bikeInfo.VehicleParts.Count + " parts");
    }
Beispiel #3
0
        public void BikeBuilderBuildsProperBikeTest()
        {
            var bike = new BikeBuilder();

            var result = bike.SetProductionYear(1997)
                         .SetBrand("Audi")
                         .SetKerbWeight(1000)
                         .SetColor(Color.Pink)
                         .SetMaxVelosity(300)
                         .Build();

            Assert.AreEqual(1997, result.ProductionYear);
            Assert.AreEqual("Audi", result.Brand);
            Assert.AreEqual(1000, result.KerbWeight);
            Assert.AreEqual(Color.Pink, result.Color);
            Assert.AreEqual(300, result.MaxVelocity);
        }
Beispiel #4
0
        public void TestBikeBuilder()
        {
            IBuilder builder = new BikeBuilder();

            builder.InitVehicule();
            builder.AddBody();
            builder.AddEngine();
            for (int i = 0; i < Bike.MAX_WHEELS; ++i)
            {
                builder.AddWheel();
            }
            IVehicule     bike            = builder.GetVehicule();
            string        bikeDescription = bike.GetVehiculeDescription();
            StringBuilder strBuilder      = new StringBuilder();

            strBuilder.Append("Bike vehicule").AppendLine()
            .Append("Wheels: 2 bike wheel.s").AppendLine()
            .Append("Engine: Bike engine").AppendLine()
            .Append("Body: Bike body").AppendLine();
            Assert.AreEqual(strBuilder.ToString(), bikeDescription);
        }
Beispiel #5
0
 public EngineeringDept(BikeBuilder builder)
 {
     this.builder = builder;
 }
Beispiel #6
0
 public void Build(BikeBuilder builder)
 {
     builder.AddFrame();
     builder.AddWheels();
     builder.AddBrakes();
 }
Beispiel #7
0
        /// <summary>
        /// Client
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            #region Abstract Factory
            Console.WriteLine("Abstract Factory initialize");

            //Step 1
            SqlCommand   cmd = new SqlCommand();
            SqlConection cnn = new SqlConection();
            cmd.Execute();

            //Apply Abstract Factory pattern
            DbFactory db  = new OracleFactory();
            var       con = db.createConnection();
            con.Open();
            var command = db.createCommand();
            command.Execute();

            Console.WriteLine("Abstract Factory finalize" + Environment.NewLine);
            #endregion

            #region Builder
            Console.WriteLine("Builder initialize");

            //Step 1
            var car = new Auto("Car");
            car["gear"]  = "127c";
            car["doors"] = "4";
            car["tires"] = "4";
            car.Show();
            Console.ReadLine();

            var bike = new Auto("bike");
            bike["gear"]  = "50c";
            bike["doors"] = "0";
            bike["tires"] = "2";
            bike.Show();
            Console.ReadLine();

            //Apply Builder pattern
            AutoBuilder builder;
            var         director = new Director();

            builder = new CarBuilder();
            director.Construct(builder);
            builder.Auto.Show();

            builder = new BikeBuilder();
            director.Construct(builder);
            builder.Auto.Show();

            Console.WriteLine("Builder finalize" + Environment.NewLine);
            #endregion

            #region Factory
            Console.WriteLine("Factory Method Initialize");

            //Step 1
            var login = new AuthGoogle();
            login.Authorize();
            Console.ReadLine();

            //Apply Factory
            Creator[] creators = new Creator[2];
            creators[0] = new FacebookCreator();
            creators[1] = new GoogleCreator();

            foreach (Creator c in creators)
            {
                Auth aut = c.CreateInstance(); //Factory Method
                aut.Authorize();
            }
            Console.ReadLine();

            Console.WriteLine("Factory Finalize" + Environment.NewLine);
            #endregion

            #region Prototype
            Console.WriteLine("Prototype initialize");
            Book p1 = new Book(1, "Design Patterns - Book", 20.00);
            Book c1 = (Book)p1.Clone();
            Console.WriteLine(c1.Description);

            DVD p2 = new DVD(2, "Design Patterns - DVD", 25.00);
            DVD c2 = (DVD)p2.Clone();
            Console.WriteLine(c2.Description);
            Console.WriteLine("Prototype Finalize" + Environment.NewLine);
            Console.ReadKey();
            #endregion

            #region Singleton
            Console.WriteLine("Singleton Initialize");
            var con1 = ConnectionBD.Instance();
            con1.stringConexao = "SQLServer";
            con1.Open();
            var con2 = ConnectionBD.Instance();
            con2.stringConexao = "Oracle";
            con2.Open();

            if (con1.Equals(con2))
            {
                Console.WriteLine("Equals Instances");
            }

            Console.WriteLine("Singleton Finalize" + Environment.NewLine);
            Console.ReadKey();
            #endregion
        }