
Привет, Хабр!
Я не являюсь каким-то очень известным экспертом, однако мне очень интересен процесс обработки данных, а также написания кода для обработки этих самых данных. В процессе написания различных методов обработки этих самых данных у меня родилась идея частичной автоматизации, кхм, написания методов обработки.
Введение
Предположим, у нас есть набор инструментов(сущностей) для обработки какого-то потока данных, или построения других комплексных сущностей.
На примере транспортных средств.
Есть у нас набор атомарных компонентов:
class EngineA;
class EngineB;
class wheelsA;
class wheelsB;
class FrameA;
class FrameB;
и т.д.
Если нам нужна машина - мы просто объявляем класс Car, в котором есть нужный корпус, колеса, двигатель и т.д. Аналогично с какой-нибудь лодкой лодкой, мы бы объявили класс Boat, и быстренько набросали агрегацию нужных частей лодки. Если же нам нужна и лодка, и машина, и даже самолет - мы можем без проблем воспользоваться паттерном фабрика, но что делать, если нам нужны машины, лодки, самолеты, и мы заранее не знаем сколько, когда, и в каком порядке.