Допустим, у нас есть проект / продукт, который живёт 3-4 года. Это большой срок. Скорее всего, требования несколько раз заметно изменились. Технические и архитектурные решения, которые закладывались на старте разработки, оказались не то, чтобы неудачными, но, откровенно, уже мешают.
❓Перед разработчиками встаёт вопрос: «А что делать-то в такой ситуации?» Откатываться на несколько лет разработки назад и начинать всё заново? Вы серьёзно? А бизнес что скажет? Опытные разработчики понимают, какой это больной удар для бизнеса и не будут предлагать всё переписывать с нуля.
Можно решить облепить костылями старый функционал, чтобы обеспечить его совместимость с новыми требованиями. Не понимаете, о чём речь? Опытные разработчики применяют паттерн «адаптер», чтобы иметь возможность на существующей кодовой базе удовлетворять новым требованиям, предсказать существование которых на этапе начального проектирования было невозможно. Даже если какой-то умный человек заранее заложил модульную архитект