Кажется, существует неправильное представление о том, что все в модели предметной области должно быть скопировано как модель особого представления. Модели доменов могут быть моделями доменов, но модели представлений - это то, что ничего не знает о специфике домена и носит более общий характер. Например:
Классы доменной модели: Account, Asset, PurchaseOrder
Модель представления: список, таблица, кортеж, SearchFormBackingModel: проверенные параметры, выходные данные и т. Д. Само представление может быть гораздо более специфичным для конкретной реализации представления.
Tuple / Dictonary / Map может отображаться на отдельные экземпляры Account, Asset и PurchaseOrder, но таблица может быть полезна для их коллекции и т. Д. У вас все еще есть MVC, но у вас есть данные сеанса, которые еще не готовы для транзакции в представлении модель, не обязательно нарушая правила вашей доменной модели, где правила должны идти. Таким образом, они будут менее анемичными и анти-шаблонными. Вы можете передать эти правила заранее и использовать их там, или только сзади, или в обоих случаях, в зависимости от того, как система читает с клиентов и т. Д.