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"); }
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); }
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); }
public EngineeringDept(BikeBuilder builder) { this.builder = builder; }
public void Build(BikeBuilder builder) { builder.AddFrame(); builder.AddWheels(); builder.AddBrakes(); }
/// <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 }