Задание
Условие
Представьте, что у вас есть компания, занимающаяся производством автомобилей. Вам нужно создать программу для создания различных моделей автомобилей с помощью паттерна Строитель. Каждый автомобиль может иметь разные характеристики, такие как марка, модель, цвет, тип двигателя и т. д.
Требования
Создайте классы для представления различных компонентов автомобиля, таких как
Engine
,Transmission
,Body
, и т. д.Создайте класс
CarBuilder
, который будет отвечать за пошаговое конструирование автомобиля. Этот класс должен иметь методы для установки различных компонентов автомобиля.Создайте класс
CarDirector
, который будет использоватьCarBuilder
для построения конкретного типа автомобиля в соответствии с заданными спецификациями.Используйте паттерн Строитель для создания конкретных реализаций автомобилей, например,
SedanBuilder
,SUVBuilder
,SportsCarBuilder
, и т. д.Напишите клиентский код, который будет использовать
CarDirector
для построения конкретного автомобиля с заданными характеристиками.