Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
ни один из них полностью не обеспечивает должного решения задачи, а чаще всего полученное решение еще и усложняет в Н-цать раз.На не-функциональных языках функциональное программирование невозможно без самопроизвольного появления разных странных артефактов типа «дизайн-паттернов» и функциональный код с неизбежностью будет выглядеть не особо красиво — хотя бы по сравнению с копи-пастой…
Погуглив пару часов, Вася решает, что State Pattern идеально подходит в данной ситуации.
Хорошо бы ещё понимать что когда это уйдёт на продакшн, то всё что не конфигурируется, будет периодически возвращаться на доработку программисту, с огромными потерями во времени.
Считаю необходимым отметить, что фактически это выглядит подобно скриптовому языку с рядом особенностей.
Вдаваться в подробности не хочу, но разумеется изменения в логике проходят тестирование на актуальной версии софта до передачи в продакшн.
сделать актуальный ландшафт для кода десятилетней давности вы можете=«законсервировать» сервер приложений с интсалляшкой. Делов-то…
сделать для него же компиляционное окружение — нетКонсервировать заодно и IDE? Идея в общем-то правильная, но пробивается сильно труднее…
=«законсервировать» сервер приложений с интсалляшкой. Делов-то…
Консервировать заодно и IDE? Идея в общем-то правильная, но пробивается сильно труднее…
Кроме шуток, действительно интересует, как может «стухнуть» образ в виртуалке?
stateA_switch1() (а лучше private static Switcher STATE_A_SWITCH_1 = new Switcher(State.A));
, но и setStateB() и unsetStateA() (лучше тоже в виде реализаторов интерфейсов, а не через рефлексию, чтоб IDE лучше хэндлила).Насчет XML - некоторые особо одаренные программеры использовали XML не только для конфигов, но и в качестве локальной базы данных(!), редактируемой пользователем. Иногда файлик мог содержать больше сотни страниц в notepad и структура его была не очень простая. И все это надо было периодически редактировать, копировать и править куски, добавлять уровни вложенности и т д и т п. Уровень вложенности не ограничен был ничем. Это была адова работа, перенести все эти файлы в базу данных автоматизированным способом, потому что одаренный программер ушел из компании, оставив такое наследство, которое потребовалось развивать. Вернее переписать с нуля.
Простые стейт-машины на службе у разработчика