Search
Write a publication
Pull to refresh

Comments 5

Я догадывался, что не открыл америку. А оказывается у этого есть задокументированое название.
Статья в целом про то, что это работает и это удобно в продакшене. Давным давно мы пробовали ветки в репозитории, но это был какой-то кромешный ад по факту.
UFO landed and left these words here
Мой проект состоит из такого количества классов, что шаблон «стратегия» мне кажется здесь абсолютно неуместным на глобальном уровне. Применить его конечно можно, но тогда сразу вешаться. Концов не найдешь потом. А вот варианты алгоритмов спроса реализуют разные классы, так что локально это работает.
Когда-то делали похожим образом, но тут есть проблемы:
1. При рефакторинге большой шанс сломать старый код. Например, переделываете вы механику осад, в объекте осад были поля String startTime, String endTime, Date date. Переходите на Джаву 8, решили сделать через правильные Instant: Instant start, Instant end. Старый код работает со старыми полями (ожидая, что они not null), новый — с новыми. Большая вероятность, что тут что-то сломается, особенно во время первода часов.
2. Трудно делать миграции базы данных. Тот же пример с осадами. Старый код вставляет в базу 3 старых поля, новый — 2 новых. При этом падает с ошибками, что не указаны значения для not null полей.
3. Не всё можно спрятать за правами доступа. Особенно, если это переделка уже работающих механик.
Sign up to leave a comment.

Articles