Есть ряд шаблонов, которые подходят к тому, что вы описываете. Я бы порекомендовал получить копию превосходной книги Мартина Фаулера Шаблоны архитектуры предприятия , в частности главу 14. Шаблоны веб-презентаций. Вы обнаружите, что любая серьезная попытка отделить презентацию от предметной (бизнес логика), а источник данных приведет вас к одному из множества вариантов одной и той же темы.
MVC, MVP, визуальный прокси и т. Д. Разбиты на три уровня, которые отличаются друг от друга обязанностями каждого уровня и тем, как слои взаимодействуют друг с другом.
Например, шаблон Passive View в основном лишает уровень пользовательского интерфейса всего, что не имеет прямого отношения к представлению. Типичным примером является поле, которое вы хотите выделить, если определенное условие истинно. В пассивном представлении форма будет содержать только логику для определения того, следует ли выделять поле. Бизнес-правило, которое вызывает это состояние, будет находиться на уровне презентатора / контроллера, который не зависит напрямую от фактического представления.
Что касается уровня источника данных, основным преимуществом является невозможность переключения баз данных одним махом. Основное преимущество заключается в том, что изменения в схеме базы данных влияют только на уровень источника данных и не распространяются на остальную часть приложения. Если вы застряли с наборами данных, хороший подход - это шаблон Table Data Gateway .