Example #1
0
        static void Main(string[] args)
        {
            CompanyComponent myCo = new CompanyComposite("A co.", "Some Company");
            myCo.Add(new Employee("Best Employee", "123-45-6789", 5432.9));
            myCo.Add(new Employee("2nd Best Employee", "234-56-8901", 3.33));
            myCo.Add(new Employee("An Employee", "43729", 1852.9));
            myCo.Add(new Employee("Wost Employee", "2", 0.3));

            CompanyComponent moo = new CompanyComposite("Moo", "Makes Cow Noises");
            moo.Add(new Employee("Janet", "snnnnn", 109832.50));

            CompanyComposite blue = new CompanyComposite("Blue", "Makes all things blue");
            blue.Add(new Employee("Frank", "132-23-1323", 12.21));
            blue.Add(myCo);
            blue.Add(moo);

            CompanyComponent coo = new CompanyComposite("Coo", "Makes Pigeon Noises");
            coo.Add(new Employee("Charles", "sssssn", 4500.00));
            coo.Add(blue);

            CompanyComponent newforyou = new CompanyComposite("NewForYou", "Owns companies whose name's rhyme.");
            newforyou.Add(new Employee("Rey", "444-44-4444", 321312.32));
            newforyou.Add(coo);

            CompositeIterator iter = new CompositeIterator(newforyou);

            Console.WriteLine("=============== Part One ===============");
            for (iter.First(); !iter.IsDone(); iter.MoveNext())
            {
                if (iter.GetCurrent() is CompanyComposite||
                iter.GetCurrent() is Employee)
                {
                    iter.GetCurrent().NodeDisplay();
               }
            }
            Console.WriteLine();
            Console.WriteLine("=============== Part Two ===============");

            Console.WriteLine("----------- Employee Visitor -----------");
            IVisitor empVisitor = new EmployeeVisitor(newforyou);

            Console.WriteLine("---------- Composite Visitor -----------");
            IVisitor coVisitor = new CompanyCompositeVisitor(newforyou);
            Console.Read();
        }
Example #2
0
        //    static void PrintEmployees(AbstractIterator iter)
        //    {
        //        for (iter.First(); !iter.IsDone(); iter.MoveNext())
        //        {
        //            try
        //            {
        //                iter.GetCurrent().DisplayEmployee();
        //            }
        //            catch (Exception e)
        //            {
        //                Console.WriteLine(e.Message);
        //            }
        //        }
        //    }
        static void Main(string[] args)
        {
            //Company myCo = new Company("A co", "Some Company");
            //myCo.AddEmployee(new Employee("Worst Employee", "123-45-6789", 0.6));
            //myCo.AddEmployee(new Employee("bob", "SSN", 123));
            //myCo.AddEmployee(new Employee("Best Employee", "321-45-2341", 100000.65));
            //myCo.AddEmployee(new Employee("Sally", "SSSSN", 500));
            //myCo.AddEmployee(new Employee("Bad Employee", "sssn", 5));

            CompanyComposite myCo = new CompanyComposite("A co.", "Some Company");
            myCo.Add(new Employee("Best Employee", "123-45-6789", 5432.9));
            myCo.Add(new Employee("2nd Best Employee", "234-56-8901", 3.33));
            myCo.Add(new Employee("An Employee", "43729", 1852.9));
            myCo.Add(new Employee("Wost Employee", "2", 0.3));

            CompanyComposite moo = new CompanyComposite("Moo", "Makes Cow Noises");
            moo.Add(new Employee("Janet", "snnnnn", 109832.50));

            CompanyComposite blue = new CompanyComposite("Blue", "Makes all things blue");
            blue.Add(new Employee("Frank", "132-23-1323", 12.21));
            blue.Add(myCo);
            blue.Add(moo);

            CompanyComposite coo = new CompanyComposite("Coo", "Makes Pigeon Noises");
            coo.Add(new Employee("Charles", "sssssn", 4500.00));
            coo.Add(blue);

            CompanyComposite newforyou = new CompanyComposite("NewForYou", "Owns companies whose name's rhyme.");
            newforyou.Add(new Employee("Rey", "444-44-4444", 321312.32));
            newforyou.Add(coo);

            newforyou.Display();

            //InternalFatCatsIterator fatIter = new InternalFatCatsIterator(myCo);
            //    PrintEmployees(fatIter);

            Console.Read();
        }
Example #3
0
        //static void PrintEmployees(AbstractIterator it)
        //{
        //    for (it.First(); !it.IsDone(); it.Next())
        //    {
        //        it.CurrentItem().DisplayEmployee();
        //        Console.WriteLine();
        //    }
        //}

        static void Main(string[] args)
        {
            // PART 1
            //Company c = new Company("Valve", "An entertainment software and technology company founded in 1996");

            //c.Employees.Add(new Employee("Gabe Newell", "123455789", 1000000));
            //c.Employees.Add(new Employee("Steven Noonan", "63561541", 100000));
            //c.Employees.Add(new Employee("Mike Ambinder", "74584874", 1000));
            //c.Employees.Add(new Employee("John Guthrie", "12323156", 142134));
            //c.Employees.Add(new Employee("Emily Kent", "458468765", 10000));

            //Console.WriteLine("\n{0} Employees:\n", c.Name);
            //PrintEmployees(new InternalReturnAllIterator(c));

            //Console.WriteLine("\nFat Cats:\n");
            //PrintEmployees(new InternalFatCatsIterator(c));

            // PART 2
            CompanyComponent valve = new CompanyComposite("Valve", "An entertainment software and technology company founded in 1996");
            CompanyComponent steam = new CompanyComposite("Steam", "The leading software distribution platform");
            CompanyComponent dota  = new CompanyComposite("DOTA", "MOBA game");
            CompanyComponent csgo  = new CompanyComposite("CS:GO", "FPS game");
            CompanyComponent tf2   = new CompanyComposite("TF2", "TPS game");

            CompanyComponent gaben  = new Employee("Gabe Newell", "123456789", 1000000);
            CompanyComponent seanj  = new Employee("Sean Jenkin", "916394807", 100000);
            CompanyComponent emilyk = new Employee("Emily Kent", "458468765", 100000);

            CompanyComponent mattl   = new Employee("Matt Logue", "189631892", 10000);
            CompanyComponent stevenn = new Employee("Steven Noonan", "918749128", 10000);

            CompanyComponent jessc   = new Employee("Jess Cliffe", "687698129", 10000);
            CompanyComponent alfredr = new Employee("Alfred Reynolds", "576481928", 10000);

            CompanyComponent jeffb = new Employee("Jeff Ballinger", "687698129", 10000);
            CompanyComponent johnc = new Employee("John Cook", "576481928", 10000);


            // VALVE
            valve.Add(gaben);
            valve.Add(seanj);
            valve.Add(emilyk);
            valve.Add(mattl);
            valve.Add(stevenn);
            valve.Add(jessc);
            valve.Add(alfredr);
            valve.Add(jeffb);
            valve.Add(johnc);

            valve.Add(steam);

            // STEAM
            steam.Add(gaben);
            steam.Add(seanj);
            steam.Add(emilyk);

            steam.Add(dota);
            steam.Add(csgo);
            steam.Add(tf2);

            // DOTA
            dota.Add(mattl);
            dota.Add(stevenn);

            // CSGO
            csgo.Add(jessc);
            csgo.Add(alfredr);

            // TF2
            tf2.Add(jeffb);
            tf2.Add(johnc);


            //valve.Display();

            //AbstractIterator iter = new CompositeIterator(valve);
            //for (iter.First(); !iter.IsDone(); iter.MoveNext())
            //    iter.GetCurrent().DisplayNode();

            IVisitor comp_visitor = new CompositeVisitor(valve);

            //IVisitor emp_visitor = new EmployeeVisitor(valve);

            Console.WriteLine();
        }