Вопрос на самом деле резонный - это один из минусов фреймворков, что они диктуют архитектуру приложений. Но есть хорошие новости - создатели современных фреймворков осознают эту проблему и стараются уменьшить этот фактор: поощряют отвязывать модель данных, а то и вообще использовать "чисто-свои" классы почти везде.
Вот тут и можно разгуляться архитектору, если он знает куда гулять надо :)