Исправление crutch_master, (текущая версия) :
но в качестве примера привел код где все прописано жестко (ну 2 варианта вместо одного)
Ну, могу 3 варианта сделать. Что ты имеешь ввиду под жестко/мягко? Менять логгер как и на что? Ну типа можно в env писать путь до модуля, но я подумал, что меня сразу утопят за такое.
Чуть посложнее проект - и быстро приходим к пробрасыванию кучи опций в конструктор.
Да нахрен оно вообще нужно это оопэ с их конструкторами/аннотациями, когда всю иерархию классов можно лепить прям на ходу (и тут же проверять на вменяемость) вместе со всяким зависимостями и прочей ботвой в удобоваримом конфиге. Зачем вообще писать код и пытаться приделать к нему декларативщину, если можно сразу писать декларативщину, впихивая к ней какие-то мелкофункции? Типа это софткодинг и антипаттерн, но какая разница, если и так все этим занимаются в своих спрингах. Гулять так гулять.
Исходная версия crutch_master, :
но в качестве примера привел код где все прописано жестко (ну 2 варианта вместо одного)
Ну, могу 3 варианта сделать. Что ты имеешь ввиду под жестко/мягко? Менять логгер как и на что? Ну типа можно в env писать путь до модуля, но я подумал, что меня утопят.
Чуть посложнее проект - и быстро приходим к пробрасыванию кучи опций в конструктор.
Да нахрен оно вообще нужно это оопэ с их конструкторами/аннотациями, когда всю иерархию классов можно лепить прям на ходу (и тут же проверять на вменяемость) вместе со всяким зависимостями и прочей ботвой в удобоваримом конфиге. Зачем вообще писать код и пытаться приделать к нему декларативщину, если можно сразу писать декларативщину, впихивая к ней какие-то мелкофункции? Типа это софткодинг и антипаттерн, но какая разница, если и так все этим занимаются в своих спрингах. Гулять так гулять.