Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Составной - паттерн объединяет два и более паттерна для решения распространенной или общей проблемы.

Наша задача заново построить «утиную» программу и наделить ее интересными возможностями при помощи нескольких паттернов.

  1. Начинаем с создания интерфейса Quackable. На этот раз объекты Duck будут реализовывать интерфейс Quackable. От реализации этого интерфейса зависит поддержка метода quack() разными классами.

  2. Создаем несколько разновидностей уток, реализующик интерфейс Quackable: MallarDuck, RedHeadDuck, RubberDuck, DuckCall.

  3. Пишем небольшую программу, которая создает несколько уток и заставляет их крякать.

  4. Создаем класс Goose и адаптер к нему, который предоставляем метод quack() и реализует интерфейс Quackable.В main создаем упаковываем Goose.

  5. Создаем декоратор QuackCounter, который считает уток. Упаковываем в main методе все объекты в него.

  6. Создаем фабрику которая производит уток, уже обернутых в QuackCounter (подщитанных). Создаем фабрику которая производит гусей и считает их. В main мметоде создаем метод который принимает две фабрики и производит все действия по созданию уток и гусей.

  7. Создаем класс Flock. Которы позволяет интерпретировать коллекцию объектов как отдельный объект. Для перебора объектов используем еще один паттерн итератор.