Шаблон Builder, который вы обычно видите (особенно в Java), представляет собой отдельный Builder для данного объекта, который имеет плавный интерфейс для установки различных параметров. Это шаблон, отстаиваемый в Effective Java, и поэтому вы обычно увидите его в Java.
Если у вас есть несколько очень разных сценариев строительства, конечно, разные объекты-строители могут иметь смысл, но я бы сделал шаг назад. Если у вас так много разных свойств в одном объекте, у вас может быть слишком много выполняемых объектов, и симптомом проблемы является сложность строителей.
Конечно, объекты реального мира сложны, но основной тезис объектно-ориентированного проектирования заключается в том, что если сложность разбита на слои в абстракциях, так что на любом данном уровне вы имеете дело с 5-7 свойствами одновременно, вы можете ограничить проблема становится слишком сложной для понимания на данном уровне.
Сложность правильного проектирования слоев абстракции делает вышеприведенный идеализм таким же большим, как реальность, но я думаю, что смысл в том, чтобы Объект делал слишком много, стоит.
В примере с вашим автомобилем в автомобиле много слоев, но хитрость в том, чтобы сохранить его управляемость, состоит в том, чтобы дифференцировать различные сборки и построить более крупную машину из нескольких вариантов сборки, которые сами построены из нескольких вариантов сборки. и т. д. Каждая сборка заслуживает своего собственного объекта и, возможно, своего собственного сборщика.