я нашел это полезным Суть, которая познакомила меня с конструкцией Pattern Builder.
Как реализовать этот код для построения объекта «Car» с обязательными и необязательными параметрами на основе конфигураций без написания специальных сборщиков?
Сценарий 1
Сборка автомобиля с 3 колесами, без кузова и без двигателя.
Сценарий 2
Сборка автомобиля с двумя колесами, с кузовом и двигателем.
Сценарий 3
Сборка автомобиля с 1 колесом, без кузова и без двигателя.
Сценарий N
Некоторая другая случайная комбинация.
И давайте представим, что для объекта «Автомобиль» необходимо построить хотя бы одно колесо.
Я наткнулся на сообщение в блоге, в котором упоминается подход конечного автомата, но он все еще кажется мне немного грязным.
Пост: https://blog.jayway.com/2012/02/07/builder-pattern-with-a-twist/
как насчет следующего:
вставьте контекст конфигурации в качестве аргумента в метод getCar () в классе Director, а затем создайте соответствующий объект Car
комментарии в сущности говорят сами за себя:
/ * Строитель отвечает за конструирование мелких деталей /
/ Директор несет ответственность за весь процесс * /
Других решений пока нет …