Add() публичный Метод

public Add ( Component component ) : void
component Component
Результат void
Пример #1
0
        /// <summary>
        /// Entry point into console application.
        /// </summary>
        static void Main()
        {
            // Create a tree structure
            Composite root = new Composite("root");
            root.Add(new Leaf("Leaf A"));
            root.Add(new Leaf("Leaf B"));

            Composite comp = new Composite("Composite X");
            comp.Add(new Leaf("Leaf XA"));
            comp.Add(new Leaf("Leaf XB"));

            root.Add(comp);
            root.Add(new Leaf("Leaf C"));

            // Add and remove a leaf
            Leaf leaf = new Leaf("Leaf D");
            root.Add(leaf);
            root.Remove(leaf);

            // Recursively display tree
            root.Display(1);

            // Wait for user
            Console.ReadKey();
        }
Пример #2
0
        static void Main(string[] args)
        {
            var tree          = new Composite();
            var branch1       = new Composite();
            var branch1Child1 = new Leaf();
            var branch1Child2 = new Leaf();

            branch1.Add(branch1Child1);
            branch1.Add(branch1Child2);
            tree.Add(branch1);
        }
Пример #3
0
        static void Main(string[] args)
        {
            Component root    = new Composite("Root");
            Component branch1 = new Composite("Branch 1");
            Component branch2 = new Composite("Branch2");
            Component leaf1   = new Leaf("Leaf 1");
            Component leaf2   = new Leaf("Leaf 2");

            root.Add(branch1);
            root.Add(branch2);
            branch1.Add(leaf1);
            branch2.Add(leaf2);
            root.Operation();
        }
Пример #4
0
        static void Main(string[] args)
        {
            Component component    = new Composite("Root");
            Component subcomponent = new Composite("Sub");
            Component leaf1        = new Composite("Leaf1");
            Component leaf2        = new Composite("Leaf2");

            component.Add(subcomponent);
            subcomponent.Add(leaf1);
            subcomponent.Add(leaf2);

            component.Operation();

            Console.ReadLine();
        }
Пример #5
0
        static void Main(string[] args)
        {
            Title.UpperIndent(Assembly.GetExecutingAssembly());

            IComponent n1 = new ConcreteNode1();
            IComponent n2 = new ConcreteNode2();
            IComponent n3 = new ConcreteNode3();
            IComponent n4 = new ConcreteNode3();

            IComponent composite1 = new Composite();

            composite1.Add(n1);
            composite1.Add(n2);
            composite1.Add(n3);
            composite1.Add(n4);

            IComponent composite2 = new Composite();

            composite2.Add(n4);
            composite2.Add(n1);

            IComponent composite3 = new Composite();

            composite3.Add(new ConcreteNode1());
            composite3.Add(new ConcreteNode1());
            composite3.Add(new ConcreteNode1());
            composite3.Add(new ConcreteNode1());
            composite2.Add(composite3);



            IComponent composite4 = new Composite();

            composite4.Add(new ConcreteNode3());
            composite4.Add(new ConcreteNode3());
            composite4.Add(new ConcreteNode3());
            composite4.Add(new ConcreteNode3());
            composite4.Add(new ConcreteNode3());
            composite4.Add(new ConcreteNode3());
            composite4.Add(new ConcreteNode3());
            composite4.Add(new ConcreteNode3());
            composite3.Add(composite4);

            composite1.Add(composite2);

            composite1.Option();


            System.Console.WriteLine(new string('_', 50));
            foreach (var item in composite1)
            {
                System.Console.WriteLine(item.GetType().Name);
            }



            Title.BottonIndent();
        }
Пример #6
0
        static void Main(string[] args)
        {
            Client client = new Client();

            Leaf leaf = new Leaf();

            Console.WriteLine("Client: I get a simple component:");
            client.ClientCode(leaf);

            Composite tree    = new Composite();
            Composite branch1 = new Composite();

            branch1.Add(new Leaf());
            branch1.Add(new Leaf());
            Composite branch2 = new 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 checkt the component classes even when managing the tree:\n");
            client.ClientCode2(tree, leaf);
        }
Пример #7
0
        static void Main(string[] args)
        {
            Composite root = new Composite("root");

            root.Add(new Leaf("leafA"));

            Composite compositeX = new Composite("compositeX");

            compositeX.Add(new Leaf("leafXA"));
            compositeX.Add(new Leaf("leafXB"));

            Composite compositeY = new Composite("compositeY");

            compositeY.Add(new Leaf("leafYA"));

            root.Add(compositeX);
            root.Add(compositeY);

            Console.WriteLine("the root tree is");
            root.Display(2);

            root.Remove(compositeX);
            Console.WriteLine("after remove compositeX");
            root.Display(2);
        }
Пример #8
0
        static void Main(string[] args)
        {
            Client client = new Client();

            //This way the client code can support the simple leaf components...
            Leaf leaf = new Leaf();

            Console.WriteLine("Client: I get a simple component:");
            client.ClientCode(leaf);

            //...as well as the complex composites.
            Composite tree    = new Composite();
            Component branch1 = new Composite();

            branch1.Add(new Leaf());
            branch1.Add(new Leaf());
            Composite branch2 = new 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.WriteLine("Client: I don't need to check the components classes even when managing the tree:\n");
            client.ClientCode2(tree, leaf);
        }
Пример #9
0
        static void Main(string[] args)
        {
            // Create the root component
            Component component = new Composite("root");
            Component a         = new Composite("A");
            Component b         = new Composite("B");
            Component c         = new Composite("C");

            // Add  into the root component
            component.Add(a);
            component.Add(b);
            component.Add(c);

            Component xa = new Composite("XA");
            Component xb = new Composite("XB");
            Component xc = new Composite("XC");

            a.Add(xa);
            b.Add(xb);
            c.Add(xc);

            Component leafxa = new Leaf("XA-Leaf");

            xa.Add(leafxa);

            component.Display(1);

            Console.ReadLine();
        }
Пример #10
0
        static void Main(string[] args)
        {
            var client = new Client();

            var leaf = new Leaf();

            var branch1 = new Composite();

            branch1.Add(new Leaf());
            branch1.Add(new Leaf());
            var branch2 = new Composite();

            branch2.Add(new Leaf());
            var tree = new Composite();

            tree.Add(branch1);
            tree.Add(branch2);

            Console.WriteLine("Client. Get Leaf:");
            client.ClientCode(leaf);

            Console.WriteLine("Client. Get Composite (tree):");
            client.ClientCode(tree);

            Console.WriteLine("Client. Get Composite (tree) and Leaf:");
            client.ClientCode2(tree, leaf);
        }
Пример #11
0
        static public void Main()
        {
            //创建根节点,并加入两个叶节点
            Composite root = new Composite("root");

            root.Add(new Leaf("LeafA"));
            root.Add(new Leaf("LeafB"));

            //创建带有叶节点的枝节点,最后加入根节点
            Composite compX = new Composite("CompositeX");

            compX.Add(new Leaf("LeafC"));
            compX.Add(new Leaf("LeafD"));
            compX.Add(new Leaf("LeafE"));
            compX.Remove((Leaf)compX.GetChild(1));
            root.Add(compX);

            //创建更深层的带有叶节点的枝节点,最后加入根节点
            Composite compY = new Composite("CompositeY");
            Composite compZ = new Composite("CompositeZ");

            compX.Add(compY);
            compY.Add(compZ);
            compZ.Add(new Leaf("LeafF"));

            //递归显示
            root.RecurveShow();
        }
Пример #12
0
        static void Main(string[] args)
        {
            Client client = new Client();

            // Таким образом, клиентский код может поддерживать простые
            // компоненты-листья...
            Leaf leaf = new Leaf();
            //Console.WriteLine("Client: I get a simple component:");
            //client.ClientCode(leaf);

            // ...а также сложные контейнеры.
            Composite tree    = new Composite();
            Composite branch1 = new Composite();

            branch1.Add(new Leaf());
            branch1.Add(new Leaf());
            Composite branch2 = new Composite();

            branch2.Add(new Leaf());
            Composite branch3 = new Composite();

            branch3.Add(new Leaf());
            tree.Add(branch1);
            tree.Add(branch2);
            tree.Add(branch3);
            //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);
        }
Пример #13
0
        static void Main(string[] args)
        {
            Component branch_00 = new Composite("root");
            Component branch_01 = new Composite("branch_02");
            Component branch_02 = new Composite("branch_03");
            Component node_00   = new Leaf("node_00");
            Component node_01   = new Leaf("node_00");

            branch_00.Add(branch_01);
            branch_00.Add(branch_02);
            branch_01.Add(node_00);
            branch_02.Add(node_01);

            branch_00.Operation();
            Console.ReadLine();
        }
Пример #14
0
        static void Main()
        {
            Component root    = new Composite("ROOT");
            Component branch1 = new Composite("BR1");
            Component branch2 = new Composite("BR2");
            Component leaf1   = new Leaf("L1");
            Component leaf2   = new Leaf("L2");

            root.Add(branch1);
            root.Add(branch2);
            branch1.Add(leaf1);
            branch2.Add(leaf2);

            root.Operation();

            branch2.GetChild(0).Operation();
        }
Пример #15
0
        static void Main(string[] args)
        {
            Composite composite = new Composite("First");

            composite.Add(new Composite("Second"));
            composite.Add(new Composite("Third"));

            Composite composite1 = new Composite("Forth");

            composite1.Add(new Composite("Fifth"));
            composite1.Add(new Composite("Sixth"));

            composite.Add(composite1);

            composite.DisplayAll();

            Console.ReadKey();
        }
Пример #16
0
        private static void Main()
        {
            var root = new Composite("Root");

            root.Add(new Leaf("Leaf A"));
            root.Add(new Leaf("Leaf B"));
            root.Add(new Leaf("Leaf C"));

            var branch = new Composite("Branch");

            branch.Add(new Leaf("Leaf D"));
            branch.Add(new Leaf("Leaf E"));
            root.Add(branch);

            root.Show(0);

            Console.ReadKey();
        }
Пример #17
0
        static void Main(string[] args)
        {
            Component components = new Composite("root");

            components.Add(new Leaf("FIRST"));
            Component second  = new Composite("SECOND");
            Component second1 = new Composite("SECOND 1");
            Component second2 = new Composite("SECOND 2");

            second2.Add(new Leaf("SECOND 3"));
            second1.Add(second2);
            second.Add(second1);
            components.Add(second);
            components.Add(new Leaf("THIRD"));
            components.Add(second1);
            components.Add(second2);
            components.Display(0);
            Console.ReadKey();
        }
Пример #18
0
        static void Main(string[] args)
        {
            Composite root = new Composite("root");

            root.Add(new Leaf("Leaf A"));
            root.Add(new Leaf("Leaf B"));
            Composite comp = new Composite("Composite X");

            comp.Add(new Leaf("Leaf XA"));
            comp.Add(new Leaf("Leaf XB"));
            root.Add(comp);
            root.Add(new Leaf("Leaf C"));
            Leaf leaf = new Leaf("Leaf D");

            root.Add(leaf);
            root.Remove(leaf);
            root.Display(1);
            Console.ReadKey();
        }
Пример #19
0
        static void Main()
        {           
            Composite system = new Composite("System");
            system.Add(new Leaf("System.Element 1"));
            system.Add(new Leaf("System.Element 2"));

            Composite subsystem1 = new Composite("System.Subsystem1");
            subsystem1.Add(new Leaf("System.Subsystem1.Element1"));
            subsystem1.Add(new Leaf("System.Subsystem1.Element2"));

            system.Add(subsystem1);
            system.Add(new Leaf("System.Element 3"));

            Leaf leaf = new Leaf("System.Element 4");
            system.Add(leaf);
            system.Remove(leaf);

            system.Display(1);
            
            Console.ReadKey();
        }
Пример #20
0
        static void Main(string[] args)
        {
            Client client = new Client();

            Console.WriteLine("Client: 把諸多派對元件組合成成一棵樹\n");
            Composite tree    = new Composite("生日趴活動");
            Composite branch1 = new Composite("活動進行組");

            branch1.Add(new Leaf("DJ 放歌"));
            branch1.Add(new Leaf("調酒師調酒"));
            branch1.Add(new Leaf("廚師端蛋糕進場"));
            Composite branch2 = new Composite("活動紀錄組");

            branch2.Add(new Leaf("攝影師拍活動照片"));
            tree.Add(branch1);
            tree.Add(branch2);
            client.Display(tree);

            Console.WriteLine("Client: 添加元件調整樹 (不需要確認原先元件的類別)\n");
            client.AddComponent(tree, new Leaf("趴踢工作人員資料紀錄"));
        }
Пример #21
0
        static void Main(string[] args)
        {
            // Create a tree structure
            Composite root = new Composite("root");

            root.Add(new Leaf("Leaf A"));
            root.Add(new Leaf("Leaf B"));
            Composite comp = new Composite("Composite X");

            comp.Add(new Leaf("Leaf XA"));
            comp.Add(new Leaf("Leaf XB"));
            root.Add(comp);
            root.Add(new Leaf("Leaf C"));
            // Add and remove a leaf
            Leaf leaf = new Leaf("Leaf D");

            root.Add(leaf);
            root.Remove(leaf);
            // Recursively display tree
            root.Display(1);
            // Wait for user
            Console.ReadKey();
        }
Пример #22
0
        static void Main(string[] args)
        {
            //permite criar uma hierarqia de objetos
            Composite raiz = new Composite("raiz");

            raiz.Add(new Folha("Folha 1"));
            raiz.Add(new Folha("Folha 2"));

            Composite comp = new Composite("Composite X");

            comp.Add(new Folha("Folha A1"));
            comp.Add(new Folha("Folha A2"));

            raiz.Add(comp);
            raiz.Add(new Folha("Folha B1"));

            Folha folha = new Folha("Folha D1");

            raiz.Add(folha);
            // raiz.Remover(folha);

            raiz.Mostrar(2);
        }
        public static void Run()
        {
            Console.WriteLine("\n Composite structural practice");
            Composite root1 = new Composite("root");

            root1.Add(new Leaf("Leaaf A"));
            root1.Add(new Leaf("Leaf B"));

            Composite comp1 = new Composite("Composite X");

            comp1.Add(new Leaf("Leaf XA"));
            comp1.Add(new Leaf("Leaf XB"));

            root1.Add(comp1);
            root1.Add(new Leaf("Leaf C"));

            Leaf leaf = new Leaf("Leaf D");

            root1.Add(leaf);
            root1.Remove(leaf);

            root1.Display(1);
        }
Пример #24
0
        static void Main(string[] args)
        {
            var root   = new Composite("root");
            var child1 = root.Add(new Composite("Child 1"));
            var child2 = root.Add(new Composite("Child 2"));
            var child3 = root.Add(new Composite("Child 3"));

            for (int i = 0; i < 10; i++)
            {
                ((Composite)child1).Add(new Leaf($"Child 1 Leaf {i:00}"));
            }

            for (int i = 0; i < 5; i++)
            {
                var c2Child = ((Composite)child1).Add(new Composite($"Child 2 Child {i:00}"));
                for (int j = 0; j < 10; j++)
                {
                    ((Composite)c2Child).Add(new Leaf($"{c2Child.Name} Leaf {i:00}"));
                }
            }

            root.WriteAllNames();
        }
        static void Main(string[] args)
        {
            var leaf = new Leaf(10);

            Console.WriteLine($"Leaf value : {leaf.Operation()}");

            var composite1 = new Composite();

            composite1.Add(new Leaf(10));
            composite1.Add(new Leaf(20));
            composite1.Add(new Leaf(30));
            Console.WriteLine($"Composite 1 value : {composite1.Operation()}");

            var composite2 = new Composite();

            composite2.Add(composite1);
            composite2.Add(new Leaf(10));
            composite2.Add(new Leaf(20));
            composite2.Add(new Leaf(30));
            Console.WriteLine($"Composite 2 value : {composite2.Operation()}");

            Console.ReadLine();
        }
Пример #26
0
        static void Main(string[] args)
        {
            Composite root = new Composite("ROOT");

            root.Add(new Leaf("A"));
            root.Add(new Leaf("B"));

            Composite comp = new Composite("COMPOSITE X");

            comp.Add(new Leaf("XA"));
            comp.Add(new Leaf("XB"));

            root.Add(comp);
            root.Add(new Leaf("C"));

            Leaf leaf = new Leaf("D");

            root.Add(leaf);
            root.Remove(leaf);

            root.Show(1);

            Console.ReadKey();
        }
Пример #27
0
        private static void Main()
        {
            var root = new Composite("Root");

            root.Add(new Leaf("Leaf A"));
            root.Add(new Leaf("Leaf B"));

            var comp = new Composite("Parent A");

            comp.Add(new Leaf("Child A1"));
            comp.Add(new Leaf("Child A2"));

            root.Add(comp);
            root.Add(new Leaf("Leaf C"));

            var leaf = new Leaf("Leaf D");

            root.Add(leaf);
            root.Remove(leaf);

            root.Display(1);

            Console.ReadKey();
        }
Пример #28
0
        static void Main(string[] args)
        {
            var root = new Composite("fileSystem");

            var folder1 = new Composite("folder-1");

            folder1.Add(new Primitive("file-1"));
            folder1.Add(new Primitive("file-2"));
            root.Add(folder1);

            var folder2 = new Composite("folder-2");

            folder2.Add(new Primitive("file-3"));
            root.Add(folder2);

            root.Add(new Primitive("file-4"));
            root.Add(new Primitive("file-5"));

            root.Add(new Composite("folder-3"));

            root.Display(0);

            Console.ReadKey();
        }
Пример #29
0
        static void Main(string[] args)
        {
            var leaf1      = new Leaf("First leaf");
            var leaf2      = new Leaf("Second leaf");
            var leaf3      = new Leaf("Third leaf");
            var leaf4      = new Leaf("Fourth leaf");
            var leaf5      = new Leaf("Fifth leaf");
            var composite1 = new Composite();
            var composite2 = new Composite();

            composite1.Add(leaf1);
            composite1.Add(leaf2);
            composite1.Add(leaf3);
            composite2.Add(leaf4);
            composite2.Add(leaf5);

            //composite 자기 자신도 추가할 수 있습니다.
            composite1.Add(composite2);

            Console.WriteLine("composite1.Operation() - three Leaf and one composite has two leaf");
            composite1.Operation();
            Console.WriteLine("composite2.Operation() - two leaf");
            composite2.Operation();
        }
Пример #30
0
        static void Main(string[] args)
        {
            Client cli = new Client();

            Leaf leaf = new Leaf();

            Console.WriteLine("Client: I get a simple component: ");
            cli.ClientCode(leaf);

            //CRIAÇÃO DOS RAMOS E ARVORE
            Composite MainTree = new Composite();
            Composite ramo1    = new Composite();
            Composite ramo2    = new Composite();

            //MANEIRA DE ADICONAR PELA CLASSE
            ramo1.Add(leaf);

            //CLIENTE NAO TEM DE SE PREOCUPAR A VERIFICAR OS COMPONENTES
            Console.WriteLine("Primeiro Ramo");
            cli.AddComponentToComponent(ramo1, leaf);
            // ramo1.Add(leaf);

            Console.WriteLine("Segundo Ramo");
            cli.AddComponentToComponent(ramo2, leaf);
            //  ramo2.Add(leaf);
            Console.WriteLine("Arvore com 1 e 2 ramo");
            cli.AddComponentToComponent(MainTree, ramo1);
            cli.AddComponentToComponent(MainTree, ramo2);
            //   MainTree.Add(ramo1);
            //    MainTree.Add(ramo2);

            Console.WriteLine("Client: Now I've got a composite tree:");
            cli.ClientCode(MainTree);
            Console.Write("Client: I don't need to check the components classes even when managing the tree:\n");

            cli.AddComponentToComponent(MainTree, leaf);

            Console.ReadLine();
        }
Пример #31
0
        static void Main(string[] args)
        {
            ConcreteCompany companyRoot = new ConcreteCompany("北京總公司");

            companyRoot.Add(new HRDepartment("總公司人力資源部"));
            companyRoot.Add(new FinanceDepartment("總公司財務部"));

            ConcreteCompany companyA = new ConcreteCompany("上海華東分公司");

            companyA.Add(new HRDepartment("華東分公司人力資源部"));
            companyA.Add(new FinanceDepartment("華東分公司財務部"));
            companyRoot.Add(companyA);

            ConcreteCompany companyB = new ConcreteCompany("南京辦事處");

            companyB.Add(new HRDepartment("南京辦事處人力資源部"));
            companyB.Add(new FinanceDepartment("南京辦事處財務部"));
            companyA.Add(companyB);

            ConcreteCompany companyC = new ConcreteCompany("杭州辦事處");

            companyC.Add(new HRDepartment("杭州辦事處人力資源部"));
            companyC.Add(new FinanceDepartment("杭州辦事處財務部"));
            companyA.Add(companyC);

            Console.WriteLine("組織結構圖");
            companyRoot.Display(1);

            Console.WriteLine("\n職責");
            companyRoot.LineOfDuty();

            Console.WriteLine("\n");

            Composite root = new Composite("root");

            root.Add(new Leaf("Leaf A"));
            root.Add(new Leaf("Leaf B"));

            Composite comp = new Composite("Composite X");

            comp.Add(new Leaf("Leaf XA"));
            comp.Add(new Leaf("Leaf XB"));

            root.Add(comp);

            Composite comp2 = new Composite("Composite XY");

            comp2.Add(new Leaf("Leaf XYA"));
            comp2.Add(new Leaf("Leaf XYB"));

            comp.Add(comp2);

            root.Add(new Leaf("Leaf C"));

            Leaf leafD = new Leaf("Leaf D");

            root.Add(leafD);
            root.Remove(leafD);

            root.Display(1);

            Console.ReadLine();
        }
Пример #32
0
        public static void Main(string[] args)
        {
            //US1
            var root = new Composite();

            root.Add(new Leaf(3));
            root.Add(new Leaf(5));
            Console.WriteLine("US1:" + root.Horas());

            //US2
            var comp = new Composite();

            comp.Add(new Leaf(2));
            comp.Add(new Leaf(5));
            //Console.WriteLine("comp");
            Console.WriteLine("US2:" + comp.Horas());

            //F1
            var feature1 = new Composite();

            feature1.Add(root);
            feature1.Add(comp);
            Console.WriteLine("feature1:" + feature1.Horas());

            //Epic 1
            var epic = new Composite();

            epic.Add(feature1);
            Console.WriteLine("epic:" + epic.Horas());


            //U3
            var US3 = new Composite();

            US3.Add(new Leaf(2));
            US3.Add(new Leaf(9));
            Console.WriteLine("US3:" + US3.Horas());

            var US4 = new Composite();

            US4.Add(new Leaf(1));
            US4.Add(new Leaf(4));
            US4.Add(new Leaf(4));
            Console.WriteLine("US4:" + US4.Horas());


            //F2
            var feature2 = new Composite();

            feature2.Add(US3);
            Console.WriteLine("feature2:" + feature2.Horas());


            //F3
            var feature3 = new Composite();

            feature3.Add(US4);
            Console.WriteLine("feature3:" + feature3.Horas());


            //Epic 2
            var epic2 = new Composite();

            epic2.Add(feature2);
            epic2.Add(feature3);
            Console.WriteLine("epic2:" + epic2.Horas());


            //// Wait for user
            Console.ReadKey();
        }
Пример #33
0
 static void Main(string[] args)
 {
     Component components = new Composite("root");
     components.Add(new Leaf("FIRST"));
     Component second = new Composite("SECOND");
     Component second1 = new Composite("SECOND 1");
     Component second2 = new Composite("SECOND 2");
     second2.Add(new Leaf("SECOND 3"));
     second1.Add(second2);
     second.Add(second1);
     components.Add(second);
     components.Add(new Leaf("THIRD"));
     components.Add(second1);
     components.Add(second2);
     components.Display(0);
     Console.ReadKey();
 }