Ejemplo n.º 1
0
 public void CreateRobot(IRobotBuilder robotBuilder)
 {
     robotBuilder.CreateHead();
     robotBuilder.CreateHands();
     robotBuilder.CreateTorso();
     robotBuilder.CreateLegs();
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public Robot Construct(IRobotBuilder builder)
 {
     builder.BuildHead();
     builder.BuildBody();
     builder.BuildArms();
     builder.BuildFoot();
     return(builder.MakeRobot());
 }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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();
            }
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
 public RobotEngineer(IRobotBuilder robotBuilder)
 {
     _robotBuilder = robotBuilder;
 }
Ejemplo n.º 8
0
 public RobotCreator(IRobotBuilder builder)
 {
     this._builder = builder;
 }
Ejemplo n.º 9
0
 public RobotEngineer(IRobotBuilder builder)
 {
     this.robotBuilder = builder;
 }
Ejemplo n.º 10
0
 public RobotDirector(IRobotBuilder robotBuilder)
 {
     this.robotBuilder = robotBuilder;
 }
Ejemplo n.º 11
0
 public RobotEngineer(IRobotBuilder newRobot)
 {
     this.robotBuilder = newRobot;
 }
Ejemplo n.º 12
0
 public Context(ISurfaceBuilder surfaceBuilder, IRobotBuilder robotBuilder)
 {
     SurfaceBuilder = surfaceBuilder;
     RobotBuilder   = robotBuilder;
 }
Ejemplo n.º 13
0
 public Context(IArenaBuilder arenaBuilder, IRobotBuilder robotBuilder)
 {
     ArenaBuilder = arenaBuilder;
     RobotBuilder = robotBuilder;
 }
 public RobotEngineer(IRobotBuilder builder)
 {
     this.robotBuilder = builder;
 }
Ejemplo n.º 15
0
 public RobotEngineer(IRobotBuilder _robotBuilder)
 {
     robotBuilder = _robotBuilder;
 }
Ejemplo n.º 16
0
 public Context(IArenaBuilder arenaBuilder, IRobotBuilder robotBuilder)
 {
     ArenaBuilder = arenaBuilder;
     RobotBuilder = robotBuilder;
 }
Ejemplo n.º 17
0
 public Engineer(IRobotBuilder robot)
 {
     _robot = robot;
 }
Ejemplo n.º 18
0
 // Builder uses a complex series of steps
 public void Construct(IRobotBuilder robotBuilder)
 {
     robotBuilder.BuildHead();
     robotBuilder.BuildArms();
     robotBuilder.BuildLegs();
 }
Ejemplo n.º 19
0
 public RobotEngineer(IRobotBuilder robotBuilder)
 {
     _robotBuilder = robotBuilder;
 }