искренне не понимаю махохизма, когда под небольшую прикладную задачу, разворачивают 3-х слойную архитектуру, IoC, когда классов-то и 10 не наберется, больше будешь сервисы расписывать
именно, рад, что ты понял, всю суть ооп - это и есть, фабричный метод абстактной фабрики, без ООП и дерева классов, как раз и не получится, фабрики, специфицирующейся на этапе компиляции