Exemplo n.º 1
0
        // Обычно клиентский код приспособлен для работы с единственным
        // обработчиком. В большинстве случаев клиенту даже неизвестно, что этот
        // обработчик является частью цепочки.
        public static void ClientCode(AbstractHandler handler)
        {
            foreach (var food in new List <string> {
                "Nut", "Banana", "Cup of coffee"
            })
            {
                Console.WriteLine($"Client: Who wants a {food}?");

                var result = handler.Handle(food);

                if (result != null)
                {
                    Console.Write($"   {result}");
                }
                else
                {
                    Console.WriteLine($"   {food} was left untouched.");
                }
            }
        }
        // Обычно клиентский код приспособлен для работы с единственным
        // обработчиком. В большинстве случаев клиенту даже неизвестно, что этот
        // обработчик является частью цепочки.
        public static void ClientCode(AbstractHandler handler)
        {
            foreach (var mistakeNumber in new List <string> {
                "200", "400", "404", "501"
            })
            {
                Console.WriteLine($"\nClient: Что значит ошибка {mistakeNumber}? ");

                var result = handler.Handle(mistakeNumber);

                if (result != null)
                {
                    Console.Write($"   {result}");
                }
                else
                {
                    Console.WriteLine($"\n Ошибка  {mistakeNumber} не существует");
                }
            }
        }
Exemplo n.º 3
0
 public void SettHandler(AbstractHandler handler)
 {
     this.superior = handler;
 }
Exemplo n.º 4
0
 public void SetSuccessor(AbstractHandler successor)
 {
     this.successor = successor;
 }