История изменений
Исправление filosofia, (текущая версия) :
это нерасширяемо динамически и требует ненужные зависимости в мейне.
Ничего себе!
если система большая, то ее компоненты или плагины могут подвешивать в общий список свои консольные хуки, что будут потом опрашиваться пока один из них не скажет, что команду понял. то есть распарсил и выполнил.
Это настоящая беда многих программистов — оверинжиниринг. Они любую, самую простую задачу, способны усложнить до неузнаваемости, приплести туда какие-то плагины, жыд-компиляцию и Тьюринг-полную конфигурацию. Спрашиваю их, зачем? Расширяемо… Анус себе расширь, пёс!
Самое поганое в этом то, что эти программисты зачастую ошибаются в оценке эволюции программы; результат — будущие изменения получают серьезное сопротивление со стороны заложенной архитектуры, поначалу это воркэрандится по инерции, но в конечном результате получаем version 2.0 completely refactored from the ground. И так до следующего мажорного изменения архитектуры 3.0.
Вам диды завещали: keep it simple! Нет, они на каждый хелловорлд плагины блядь изобретают.
вот примерно этот механизм и изобретает автор, но пока в редуцированном виде.
Ну правильно, в нередуцированном виде вы замените словарь таблицей регулярных выражений, динамически компилирующийся из конфигурационного файла; хэндлеры подсосете из плагинов; в сами хендлеры будете скармливать динамически типизированный контекст aka параметры. Интерпрайзно 👎
UPD Message bus сюда прямо напрашивается, к третьей версии прикрутите, пожалуйста?
Исходная версия filosofia, :
это нерасширяемо динамически и требует ненужные зависимости в мейне.
Ничего себе!
если система большая, то ее компоненты или плагины могут подвешивать в общий список свои консольные хуки, что будут потом опрашиваться пока один из них не скажет, что команду понял. то есть распарсил и выполнил.
Это настоящая беда многих программистов — оверинжиниринг. Они любую, самую простую задачу, способны усложнить до неузнаваемости, приплести туда какие-то плагины, жыд-компиляцию и Тьюринг-полную конфигурацию. Спрашиваю их, зачем? Расширяемо… Анус себе расширь, пёс!
Самое поганое в этом то, что эти программисты зачастую ошибаются в оценке эволюции программы; результат — будущие изменения получают серьезное сопротивление со стороны заложенной архитектуры, поначалу это воркэрандится по инерции, но в конечном результате получаем version 2.0 completely refactored from the ground. И так до следующего мажорного изменения архитектуры 3.0.
Вам диды завещали: keep it simple! Нет, они на каждый хелловорлд плагины блядь изобретают.
вот примерно этот механизм и изобретает автор, но пока в редуцированном виде.
Ну правильно, в нередуцированном виде вы замените словарь таблицей регулярных выражений, динамически компилирующийся из конфигурационного файла; хэндлеры подсосете из плагинов; в сами хендлеры будете скармливать динамически типизированный контекст aka параметры. Интерпрайзно 👎