Программа описывает Завод по созданию машины. Для упрощения вью работают с консолью. при желании их без проблем можно заменить на UI.
Апп работает на модулях с MVC (т.к. код простой, то контроллеры заменены на команды). CarCreator проходится по всем зарегестрированным модулям и собирает машину из предложенных деталей.
В текущей реализации имеется три модуля деталей (body, electric, engine). Для добавления нового типа детали достаточно создать новый модуль в намспейсе CarFactory.Module и добавить его модуль в CarFactoryModules.
CarFactoryModules является точкой входа для отделных модулей Завода. Для отключения модуля достаточно закоментировать/удалить строчку создания модуля из класса CarFactoryModules.
Пример отработки программы: