static void Main(string[] args) { // The client code. Console.WriteLine("DesignPatterns.Mediator.Conceptual"); Component1 component1 = new Component1(); Component2 component2 = new Component2(); new ConcreteMediator(component1, component2); Console.WriteLine("Client triggets operation A."); component1.DoA(); Console.WriteLine(); Console.WriteLine("Client triggers operation D."); component2.DoD(); Console.WriteLine("DesignPatterns.Mediator.Concrete"); var stationManager = new StationManager(); var passengerTrain = new PassengerTrain(stationManager); var freightTrain = new FreightTrain(stationManager); passengerTrain.Arrive(); freightTrain.Arrive(); passengerTrain.Depart(); }
static void Main(string[] args) { Vehicles[] aVehicles = new Vehicles[6]; aVehicles[0] = new Compact(); aVehicles[1] = new DoubleBogey(); aVehicles[2] = new FreightTrain(); aVehicles[3] = new PassengerTrain(); aVehicles[4] = new PickUp(); aVehicles[5] = new SUV(); foreach (Vehicles vehicles in aVehicles) { try { IPassengerCarrier tmp = (IPassengerCarrier) vehicles; AddPassenger(tmp); } catch (Exception) { Console.WriteLine("Объект не наследует интерфейс IPassengerCarrier {0}",vehicles.ToString()); } } Console.ReadKey(); }
static void Main(string[] args) { Vehicle.Vehicle[] vehicles = new Vehicle.Vehicle[6]; vehicles[0] = new Compact(); vehicles[1] = new SUV(); vehicles[2] = new Pickup(); vehicles[3] = new PassengerTrain(); vehicles[4] = new FreightTrain(); vehicles[5] = new DoubleBogey424(); foreach (Vehicle.Vehicle veh in vehicles) { try { AddPassenger((IPassengerCarrier)veh); } catch (Exception e) { WriteLine(e.Message); WriteLine($"Unable to add passenger to {veh.ToString()}"); } } ReadKey(); }