Композиция — это структурный шаблон проектирования, позволяющий объединять объекты в древовидную структуру для представления иерархий часть-целое. Композиция дает возможность клиентам работать с отдельными объектами и их группами одинаково.
Ключевые элементы:
Пример: файловая система.
Component
: общий интерфейс для "файлового элемента".Leaf
: класс "Файл".Composite
: класс "Папка". Папка может содержать как Файлы, так и другие Папки.Клиентский код может работать с любым "файловым элементом" (как с файлом, так и с папкой) через общий интерфейс Component
, не зная его конкретного типа.
Преимущества:
Недостатки:
java
Композиция — это структурный шаблон проектирования, позволяющий объединять объекты в древовидную структуру для представления иерархий часть-целое. Композиция дает возможность клиентам работать с отдельными объектами и их группами одинаково.
Ключевые элементы:
Пример: файловая система.
Component
: общий интерфейс для "файлового элемента".Leaf
: класс "Файл".Composite
: класс "Папка". Папка может содержать как Файлы, так и другие Папки.Клиентский код может работать с любым "файловым элементом" (как с файлом, так и с папкой) через общий интерфейс Component
, не зная его конкретного типа.
Преимущества:
Недостатки:
java
Register or sign in to get access to full answers for all questions from the question bank.