Exemplo n.º 1
0
        static void Main(string[] args)
        {
            //ziyaretçi desene
            // birbirine benzeyen veya hiyerarşik nesnelerin birbirine benzeyen metodlarının biri üzerinden çağrılmasıdır
            Manager managerFatih = new Manager {
                Name = "Fatih", Salary = 1000
            };
            Manager managerEngin = new Manager {
                Name = "Engin", Salary = 900
            };

            Worker workerSalih = new Worker {
                Name = "Salih", Salary = 800
            };
            Worker workerAli = new Worker {
                Name = "Ali", Salary = 700
            };

            managerFatih.Subordinates.Add(managerEngin);
            managerEngin.Subordinates.Add(workerSalih);
            managerEngin.Subordinates.Add(workerAli);

            OrganisationalStructure organisationalStructure = new OrganisationalStructure(managerFatih);
            PayrolVisitor           payrolVisitor           = new PayrolVisitor();
            PayRiseVisitor          payRiseVisitor          = new PayRiseVisitor();

            organisationalStructure.Accept(payrolVisitor);
            organisationalStructure.Accept(payRiseVisitor);

            Console.ReadLine();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Manager managerF = new Manager {
                Name = "Furkan", Salary = 1000
            };
            Manager managerS = new Manager {
                Name = "Salih", Salary = 900
            };
            Worker ali = new Worker {
                Name = "Ali", Salary = 600
            };
            Worker ayse = new Worker {
                Name = "Ayşe", Salary = 500
            };

            managerF.Subordinates.Add(managerS);
            managerS.Subordinates.Add(ali);
            managerS.Subordinates.Add(ayse);

            OrganisationalStructure organisationalStructure = new OrganisationalStructure(managerF);
            PayrolVisitor           payrolVisitor           = new PayrolVisitor();
            PayriseVisitor          payriseVisitor          = new PayriseVisitor();

            organisationalStructure.Accept(payriseVisitor);
            organisationalStructure.Accept(payrolVisitor);

            Console.ReadLine();
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            Manager sefa = new Manager {
                Name = "Sefa", Salary = 1000
            };
            Manager irem = new Manager {
                Name = "İrem", Salary = 1000
            };

            Worker Ozi = new Worker {
                Name = "Ozi", Salary = 450
            };
            Worker Kemal = new Worker {
                Name = "Kemal", Salary = 760
            };

            sefa.Subordinates.Add(irem);
            irem.Subordinates.Add(Ozi);
            irem.Subordinates.Add(Kemal);

            OrganisationalStructure organisationalStructure = new OrganisationalStructure(sefa);

            PayrolVisitor  payrolVisitor  = new PayrolVisitor();
            PayriseVisitor payriseVisitor = new PayriseVisitor();

            organisationalStructure.Accept(payrolVisitor);
            organisationalStructure.Accept(payriseVisitor);

            Console.ReadLine();
        }