コード例 #1
0
 public FacadeSystem()
 {
     sub1 = new SubSystem1();
     sub2 = new SubSystem2();
     sub3 = new SubSystem3();
     sub4 = new SubSystem4();
 }
コード例 #2
0
 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();
 }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 public Facade(SubSystem1 subsystem1, SubSystem2 subsystem2)
 {
     this._subsystem1 = subsystem1;
     this._subsystem2 = subsystem2;
 }
コード例 #6
0
 private Facade()
 {
     SubSystem1 = new SubSystem1();
     subSystem2 = new SubSystem2();
     SubSystem3 = new SubSystem3();
 }
コード例 #7
0
ファイル: Facade.cs プロジェクト: icansmile/UGUITest
 public Facade()
 {
     subSystem1 = new SubSystem1();
     subSystem2 = new SubSystem2();
     subSystem3 = new SubSystem3();
 }
コード例 #8
0
 public Facade(SubSystem1 subSystem1, SubSystem2 subSystem2)
 {
     SubSystem1 = subSystem1;
     SubSystem2 = subSystem2;
 }
コード例 #9
0
ファイル: FacadeClass.cs プロジェクト: cnamjeff/repos
 public FacadeClass(SubSytem1 subSytem1, SubSystem2 subSystem2, SubSystem3 subSystem3) : base(subSytem1, subSystem2, subSystem3)
 {
 }
コード例 #10
0
 public SystemController(SubSystem1 subsystem1, SubSystem2 subsystem2)
 {
     _subsystem1 = subsystem1;
     _subsystem2 = subsystem2;
 }
コード例 #11
0
ファイル: Program.cs プロジェクト: houbincarson/DesignPattern
 public SubFacade1()
 {
     obj4 = new SubSystem4();
     obj2 = new SubSystem2();
     obj3 = new SubSystem3();
 }