Я считаю, что использование и различие между шаблонами Factory & Builder можно легче понять / прояснить за определенный период времени, поскольку вы работали над одной и той же базой кода и меняли требования.
По моему опыту, обычно вы начинаете с паттерна Фабрика, включающего несколько статических методов создания. По мере того как иерархия объектов становится более сложной (или когда вы добавляете больше типов), вы, вероятно, в конечном итоге заполняете свои методы большим количеством параметров, и не говоря уже о том, что вам придется перекомпилировать модуль Factory. Все эти вещи увеличивают сложность методов вашего создателя, снижают читаемость и делают модуль создания более хрупким.
Возможно, эта точка будет точкой перехода. Переход от Фабрики к Строителю. Таким образом, вы создаете модуль-обертку вокруг параметров построения , а затем вы сможете представлять новые (похожие) объекты, добавляя еще несколько абстракций (возможно) и реализации, не затрагивая фактическую логику создания. Итак, у вас была менее сложная логика и перекомпилированный исходный код
Честно говоря, ссылка на что-то вроде «создание объекта за один шаг или несколько шагов - это различие», поскольку единственного фактора разнообразия было недостаточно для того, чтобы я мог их различить, поскольку я мог использовать оба способа почти во всех случаях до сих пор не испытав никакой пользы. Вот что я наконец-то подумала об этом.