Композитный шаблон с ограничением - PullRequest
0 голосов
/ 14 февраля 2019

Изображение является примером составного шаблона.

Однако у меня есть ограничение, заключающееся в том, что ConcreteComponent1 может иметь только ОДИН ConcreteComponent2.

Любое представление о том, как яможно этого достичь?

Спасибо!

(Извините, но stackoverflow не позволил мне включить изображение здесь)

1 Ответ

0 голосов
/ 14 февраля 2019

Три варианта, когда клиенты пытаются добавить секунду ConcreteComponent2:

  1. Сохранить первый экземпляр и игнорировать второй.
  2. Заменить первый экземпляр на второй.
  3. Бросьте исключение.

Что бы вы ни делали, задокументируйте это, чтобы поведение не стало неожиданностью для клиентов.

...