示例#1
0
        public static void Main(string[] args)
        {
            Employee CEO           = new Employee("John", "CEO", 1000000);
            Employee headSales     = new Employee("Sarah", "Head Sales", 200000);
            Employee headMarketing = new Employee("Carlos", "Head Marketing", 200000);

            Employee clerk1 = new Employee("Laura", "Marketing", 60000);
            Employee clerk2 = new Employee("Bob", "Marketing", 60000);

            Employee salesExecutive1 = new Employee("Richard", "Sales", 55000);
            Employee salesExecutive2 = new Employee("Elizabeth", "Sales", 55000);

            CEO.add(headMarketing);
            CEO.add(headSales);

            headMarketing.add(clerk1);
            headMarketing.add(clerk2);

            headSales.add(salesExecutive1);
            headSales.add(salesExecutive2);

            Console.WriteLine(CEO.ToString());

            foreach (Employee headEmployee in CEO.getSubordinates())
            {
                Console.WriteLine("\n");
                Console.WriteLine(headEmployee.ToString());
                foreach (Employee employee in headEmployee.getSubordinates())
                {
                    Console.WriteLine(employee.ToString());
                }
            }

            Console.ReadLine();
        }
示例#2
0
        //https://www.tutorialspoint.com/design_pattern/composite_pattern.htm
        static void Main(string[] args)
        {
            Employee CEO = new Employee("John", "CEO", 30000);

            Employee headSales     = new Employee("Robert", "Head Sales", 20000);
            Employee headMarketing = new Employee("Michel", "Head Marketing", 20000);

            Employee clerk1 = new Employee("Laura", "Marketing", 10000);
            Employee clerk2 = new Employee("Bob", "Marketing", 10000);

            Employee salesExecutive1 = new Employee("Richard", "Sales", 10000);
            Employee salesExecutive2 = new Employee("Rob", "Sales", 10000);

            CEO.add(headSales);
            CEO.add(headMarketing);

            headSales.add(salesExecutive1);
            headSales.add(salesExecutive2);

            headMarketing.add(clerk1);
            headMarketing.add(clerk2);

            Console.WriteLine(CEO);
            foreach (var headEmployee in CEO.subordinates)
            {
                Console.WriteLine(headEmployee);
                foreach (var employee in headEmployee.subordinates)
                {
                    Console.WriteLine(employee);
                }
            }
        }
示例#3
0
        public static void Main(String[] args)
        {
            Employee CEO           = new Employee("John", "CEO", 30000);
            Employee headSales     = new Employee("Robert", "Head Sales", 20000);
            Employee headMarketing = new Employee("Michel", "Head Marketing", 20000);

            Employee clerk1 = new Employee("Laura", "Marketing", 10000);
            Employee clerk2 = new Employee("Bob", "Marketing", 10000);

            Employee salesExecutive1 = new Employee("Richard", "Sales", 10000);
            Employee salesExecutive2 = new Employee("Rob", "Sales", 10000);

            CEO.add(headSales);
            CEO.add(headMarketing);

            headSales.add(salesExecutive1);
            headSales.add(salesExecutive2);

            headMarketing.add(clerk1);
            headMarketing.add(clerk2);

            //print all employees of the organization
            Console.WriteLine(CEO);

            foreach (Employee headEmployee in CEO.getSubordinates())
            {
                Console.WriteLine(headEmployee);

                foreach (Employee employee in headEmployee.getSubordinates())
                {
                    Console.WriteLine(employee);
                }
            }

            Console.ReadKey();
        }