Не зная более подробно о вашей проблеме, есть несколько вопросов, которые можно обсудить:
Трехуровневые архитектуры - хорошая идея, поскольку они, как правило, легко разделяют проблемы классов, превращая их в более гибкие и понятные категории:
1) данные / постоянство 2) бизнес-логика 3) представление / GUI
Следование этому базовому шаблону имеет смысл для любого программного проекта, в котором участвует сбор и извлечение данных (подавляющее большинство бизнес-приложений). Есть и десятки других причин, которых слишком много, чтобы перечислять здесь.
Теперь возможность достижения трехуровневой архитектуры путем рефакторинга существующей базы кода в значительной степени зависит от того, как этот код был разработан. И это поднимает давний вопрос разработки программного обеспечения: мы проводим рефакторинг или начинаем с нуля? Все зависит от кода ... и людей, пишущих "новый" код.
Я бы предположил, что если ваши программисты хорошо знают предметную область и то, что они пытаются достичь (или звездную техническую спецификацию), то переписывание может быть полезным, даже если рефакторинг кажется вероятным. И наоборот, если те же программисты не имеют экспертных знаний в проблемной области или не имеют никакой спецификации, то, возможно, стоило бы попытаться реорганизовать существующую логику в три уровня и таким образом сохранить изначально установленную логику biz.
Короче говоря, много книг было написано о дилемме, с которой вы сталкиваетесь. Но есть два практических правила программирования, которые я рассмотрел здесь и которые будут отображаться в любом руководстве по разработке программного обеспечения:
- структура хорошая, например три уровня
архитектура, MVC, шаблоны
- рефакторинг хорош - приводит к
чище, удобнее в обслуживании,
Производительный, понятный код
Удачи!