Выслушав Clean Code Talks , я пришел к выводу, что мы должны использовать фабрики составлять предметы. Так, например, если Дом
имеет Дверь
, а Дверь
имеет Дверную ручку
, в HouseFactory
мы создаем новый объект DoorKnob
и передаем его конструктору Door
, а затем передаем этот новый объект Door
конструктору House
.
Но как насчет класса, который использует Дом
(скажем, имя класса ABC
) ? Это будет зависеть от HouseFactory
, верно? Так можем ли мы передать HouseFactory
в конструктор ABC
? Разве нам не придется таким образом передавать в конструкторе множество фабрик?