public FacadeSystem() { sub1 = new SubSystem1(); sub2 = new SubSystem2(); sub3 = new SubSystem3(); sub4 = new SubSystem4(); }
private static void Main(string[] args) { #region Adapter ///Adapter pattern example //var adapter = new AdapterClient(); //adapter.Main(); #endregion #region Bridge ///Bridge pattern example //var bridgeClient = new BridgeClient(); //Abstraction abstraction = new Abstraction(new ConcreteImplementationA()); //bridgeClient.ClientCode(abstraction); //Console.WriteLine(); //abstraction = new ExtendedAbstraction(new ConcreteImplementationB()); //bridgeClient.ClientCode(abstraction); #endregion #region Composite ///Composite pattern example //CompositeClient client = new CompositeClient(); //Leaf leaf = new Leaf(); //Console.WriteLine("Client: I get a simple component:"); //client.ClientCode(leaf); //var tree = new Composite.Composite(); //Composite.Composite branch1 = new Composite.Composite(); //branch1.Add(new Leaf()); //branch1.Add(new Leaf()); //Composite.Composite branch2 = new Composite.Composite(); //branch2.Add(new Leaf()); //tree.Add(branch1); //tree.Add(branch2); //Console.WriteLine("Client: Now I've got a composite tree:"); //client.ClientCode(tree); //Console.Write("Client: I don't need to check the components classes even when managing the tree:\n"); //client.ClientCode2(tree, leaf); #endregion #region Decorator /// Decorator pattern example //DecoratorClient client = new DecoratorClient(); //var simple = new ConcreteComponent(); //Console.WriteLine("Client: I get a simple component:"); //client.ClientCode(simple); //Console.WriteLine(); //ConcreteDecoratorA decorator1 = new ConcreteDecoratorA(simple); //ConcreteDecoratorB decorator2 = new ConcreteDecoratorB(decorator1); //Console.WriteLine("Client: Now I've got a decorated component:"); //client.ClientCode(decorator2); #endregion #region Facade /// Facade pattern example SubSystem1 subsystem1 = new SubSystem1(); SubSystem2 subsystem2 = new SubSystem2(); Facade.Facade facade = new Facade.Facade(subsystem1, subsystem2); FacadeClient.ClientCode(facade); #endregion Console.ReadKey(); }
public void FacadeTest() { // The client code may have some of the subsystem's objects already // created. In this case, it might be worthwhile to initialize the // Facade with these objects instead of letting the Facade create // new instances. var subsystem1 = new SubSystem1(); var subsystem2 = new SubSystem2(); var facade = new Facade.Facade(subsystem1, subsystem2); Client.ClientCode(facade).Should().Be(StructuralText.FacadeResult); }
public void test_systems() { SubSystem1 subsystem1 = new SubSystem1(); SubSystem2 subsystem2 = new SubSystem2(); SystemController controller = new SystemController(subsystem1, subsystem2); controller.Operation(); Assert.That(subsystem1.IsSubSystemReady == true); Assert.That(subsystem2.IsSubSystemReady == true); Assert.That(subsystem1.IsSubSystemWorking == true); Assert.That(subsystem2.IsSubSystemWorking == true); }
public Facade(SubSystem1 subsystem1, SubSystem2 subsystem2) { this._subsystem1 = subsystem1; this._subsystem2 = subsystem2; }
private Facade() { SubSystem1 = new SubSystem1(); subSystem2 = new SubSystem2(); SubSystem3 = new SubSystem3(); }
public Facade() { subSystem1 = new SubSystem1(); subSystem2 = new SubSystem2(); subSystem3 = new SubSystem3(); }
public Facade(SubSystem1 subSystem1, SubSystem2 subSystem2) { SubSystem1 = subSystem1; SubSystem2 = subSystem2; }
public FacadeClass(SubSytem1 subSytem1, SubSystem2 subSystem2, SubSystem3 subSystem3) : base(subSytem1, subSystem2, subSystem3) { }
public SystemController(SubSystem1 subsystem1, SubSystem2 subsystem2) { _subsystem1 = subsystem1; _subsystem2 = subsystem2; }
public SubFacade1() { obj4 = new SubSystem4(); obj2 = new SubSystem2(); obj3 = new SubSystem3(); }