示例#1
0
 // Constructor accepts mediator as an argument
 public Accelerator(EngineManagementSystem mediator)
 {
     this.mediator = mediator;
     enabled = false;
     speed = 0;
     mediator.RegisterAccelerator(this);
 }
示例#2
0
 // Constructor accepts mediator as an argument
 public Gearbox(EngineManagementSystem mediator)
 {
     this.mediator = mediator;
     enabled       = false;
     currentGear   = Gear.Neutral;
     mediator.RegisterGearbox(this);
 }
 // Constructor accepts mediator as an argument
 public Brake(EngineManagementSystem mediator)
 {
     this.mediator = mediator;
     enabled       = false;
     applied       = false;
     mediator.RegisterBrake(this);
 }
示例#4
0
 // Constructor accepts mediator as an argument
 public Gearbox(EngineManagementSystem mediator)
 {
     this.mediator = mediator;
     enabled = false;
     currentGear = Gear.Neutral;
     mediator.RegisterGearbox(this);
 }
 // Constructor accepts mediator as an argument
 public Accelerator(EngineManagementSystem mediator)
 {
     this.mediator = mediator;
     enabled       = false;
     speed         = 0;
     mediator.RegisterAccelerator(this);
 }
示例#6
0
 // Constructor accepts mediator as an argument
 public Brake(EngineManagementSystem mediator)
 {
     this.mediator = mediator;
     enabled = false;
     applied = false;
     mediator.RegisterBrake(this);
 }
示例#7
0
        // Constructor accepts mediator as an argument
        public Ignition(EngineManagementSystem mediator)
        {
            this.mediator = mediator;
            on = false;

            // Register back with the mediator;
            mediator.RegisterIgnition(this);
        }
示例#8
0
        // Constructor accepts mediator as an argument
        public Ignition(EngineManagementSystem mediator)
        {
            this.mediator = mediator;
            on            = false;

            // Register back with the mediator;
            mediator.RegisterIgnition(this);
        }
        static void Main()
        {
            EngineManagementSystem ems = new EngineManagementSystem();

            Ignition    ignition    = new Ignition(ems);
            Gearbox     gearbox     = new Gearbox(ems);
            Accelerator accelerator = new Accelerator(ems);
            Brake       brake       = new Brake(ems);

            ignition.Start();
            accelerator.AccelerateToSpeed(30);
            gearbox.Gear = Gear.Fourth;
            brake.Apply();

            Console.Read();
        }