Как уже было упомянуто Тедом Хоппом, это не похоже на то, где вы использовали бы Composite Pattern.Это просто звучит как случай полиморфизма .
Составной шаблон следует использовать, когда вы хотите, чтобы группа элементов рассматривалась как один.Рассмотрим программу для рисования, в которой вы можете размещать фигуры на экране, это могут быть треугольники, квадраты и т. Д. Теперь рассмотрим функциональность, в которой вы можете изменить цвет фона этих фигур.Если вы хотите изменить цвет фона для нескольких фигур, вам нужно сделать что-то вроде этого
interface Shape {
public void setBackgroundColor(Color c);
}
И в вашем фактическом коде реализации:
for (Shape s : selectedShapes)
s.setBackgroundColor(c);
Вместо этогов коде вы можете использовать составной шаблон.Это позволяет вашему коду реализации полностью игнорировать тот факт, что «фигура», которую вы хотите редактировать, на самом деле является множеством фигур, и позволяет вашему приложению обрабатывать ее как любую другую фигуру.
class CompositeShape implements Shape
{
public void setBackgroundColor(Color c);
for (Shape s : Shapes)
s.setBackgroundColor(c);
}
class TriangleShape implements Shape { ... }
class SquareShape implements Shape { ... }