public void CreateRobot(IRobotBuilder robotBuilder) { robotBuilder.CreateHead(); robotBuilder.CreateHands(); robotBuilder.CreateTorso(); robotBuilder.CreateLegs(); }
static void Main(string[] args) { //IRobotBuilder olderRobotBuilder = new OlderRobotBuilder(); IRobotBuilder olderRobotBuilder = OlderRobotBuildFactory.Instance.CreateBuilder(); RobotCreator robotCreator = new RobotCreator(olderRobotBuilder); Robot olderRobot = robotCreator.Create(); //adaptor //make the interface transparent to customer //uniform way to use interface DescribeWeaponFunctionality(olderRobot); DescribeWeaponFunctionality(new TankAdaptor()); //decorator Console.WriteLine("---------------------"); RobotCelebrationDecorator celDec = new RobotCelebrationDecorator(); celDec.SetWeapon(olderRobot); DescribeWeaponFunctionality(celDec); //decorator chain RobotTrophyDecorator troDec = new RobotTrophyDecorator(); troDec.SetWeapon(celDec); DescribeWeaponFunctionality(troDec); }
public Robot Construct(IRobotBuilder builder) { builder.BuildHead(); builder.BuildBody(); builder.BuildArms(); builder.BuildFoot(); return(builder.MakeRobot()); }
static void Main(string[] args) { //IRobotBuilder olderRobotBuilder = new OlderRobotBuilder(); IRobotBuilder olderRobotBuilder = OlderRobotBuildFactory.Instance.CreateBuilder(); RobotCreator robotCreator = new RobotCreator(olderRobotBuilder); Robot olderRobot = robotCreator.Create(); //make the interface transparent to customer //uniform way to use interface DescribeWeaponFunctionality(olderRobot); DescribeWeaponFunctionality(new TankAdaptor()); }
static void Main(string[] args) { //first build an army - two older robots and three grand new ones IRobotBuilder olderRobotBuilder = OlderRobotBuildFactory.Instance.CreateBuilder(); RobotCreator robotCreator = new RobotCreator(olderRobotBuilder); Robot olderRobot1 = robotCreator.Create(); olderRobot1.Name = "Older Robot 1"; Robot olderRobot2 = (Robot)olderRobot1.Clone(); olderRobot2.Name = "Older Robot 2"; IRobotBuilder grandNewRobotBuilder = GrandNewGenerationRobotBuilderFactory.Instance.CreateBuilder(); robotCreator = new RobotCreator(grandNewRobotBuilder); Robot grandNewRobot1 = robotCreator.Create(); grandNewRobot1.Name = "Grand new robot number 1"; Robot grandNewRobot2 = (Robot)grandNewRobot1.Clone(); grandNewRobot2.Name = "Grand new robot number 2"; Robot grandNewRobot3 = (Robot)grandNewRobot1.Clone(); grandNewRobot3.Name = "Grand new robot number 3"; RobotArmy army = new RobotArmy(); //const int robotNum = 5; army.Add(olderRobot1); army.Add(olderRobot2); army.Add(grandNewRobot1); army.Add(grandNewRobot2); army.Add(grandNewRobot3); //review troops IIterator iter = army.CreateIterator(); iter.First(); //move to first elem while (iter.HasNext()) { Console.WriteLine((Robot)iter.Current()); iter.Next(); } }
static void Main(string[] args) { //string material = "Iron"; //IRobotComponent arm = RobotArmFactory.Instance.CreateRobotComponent(material); //IRobotComponent leg = RobotLegFactory.Instance.CreateRobotComponent(material); //IRobotComponent torso = RobotTorsoFactory.Instance.CreateRobotComponent(material); //IRobotComponent head = RobotHeadFactory.Instance.CreateRobotComponent(material); //Arm armCopy = (Arm)(arm as Arm).Clone(); //Leg legCopy = (Leg)(leg as Leg).Clone(); //Torso torsoCopy = (Torso)(torso as Torso).Clone(); //Head headCopy = (Head)(head as Head).Clone(); //legCopy.LegType = "Copper"; //headCopy.HeadType = "Golden"; //arm.Display(); //leg.Display(); //torso.Display(); //head.Display(); //Console.WriteLine("++++++++++++++++++++++++"); //armCopy.Display(); //legCopy.Display(); //torsoCopy.Display(); //headCopy.Display(); //Console.WriteLine("++++++++++++++++++++++++"); //IRobotBuilder olderRobotBuilder = new OlderRobotBuilder(); IRobotBuilder olderRobotBuilder = OlderRobotBuildFactory.Instance.CreateBuilder(); RobotCreator robotCreator = new RobotCreator(olderRobotBuilder); Robot olderRobot = robotCreator.Create(); Console.WriteLine(olderRobot); //IRobotBuilder grandNewRobotBuilder = new GrandNewGenerationRobotBuilder(); IRobotBuilder grandNewRobotBuilder = GrandNewGenerationRobotBuilderFactory.Instance.CreateBuilder(); robotCreator = new RobotCreator(grandNewRobotBuilder); Robot grandNewRobot = robotCreator.Create(); Console.WriteLine(grandNewRobot); }
public RobotEngineer(IRobotBuilder robotBuilder) { _robotBuilder = robotBuilder; }
public RobotCreator(IRobotBuilder builder) { this._builder = builder; }
public RobotEngineer(IRobotBuilder builder) { this.robotBuilder = builder; }
public RobotDirector(IRobotBuilder robotBuilder) { this.robotBuilder = robotBuilder; }
public RobotEngineer(IRobotBuilder newRobot) { this.robotBuilder = newRobot; }
public Context(ISurfaceBuilder surfaceBuilder, IRobotBuilder robotBuilder) { SurfaceBuilder = surfaceBuilder; RobotBuilder = robotBuilder; }
public Context(IArenaBuilder arenaBuilder, IRobotBuilder robotBuilder) { ArenaBuilder = arenaBuilder; RobotBuilder = robotBuilder; }
public RobotEngineer(IRobotBuilder _robotBuilder) { robotBuilder = _robotBuilder; }
public Engineer(IRobotBuilder robot) { _robot = robot; }
// Builder uses a complex series of steps public void Construct(IRobotBuilder robotBuilder) { robotBuilder.BuildHead(); robotBuilder.BuildArms(); robotBuilder.BuildLegs(); }