Модель - постоянство и уровень обслуживания?Правда? - PullRequest
2 голосов
/ 26 февраля 2012

Я пытаюсь подтвердить, верно ли это утверждение:

Модель включает в себя:

персистентный уровень: по существу DAO + классы, представляющие таблицы + DTO

уровень обслуживания: комбинации DAOS + некоторая логика

Не могли бы вы также дать ссылку / поддержать ваш ответ? Я полагал, что видел в Spring Framework хорошую диаграмму, но, как бы я ни искал в этот раз, я не могу ее найти.

И другой момент: мне всегда было интересно, почему мы так сильно абстрагируемся, что в какой-то момент люди просто перестают понимать, делается ли это для того, чтобы повысить нашу собственную ценность? : \

Например, анализируя Spring MVC, я могу сказать, что центральная часть - это контроллер, независимо от того, как вы называете другие слои, именно Контроллер решает, куда пойти, что извлечь, как проверить его и какой вид / контроллер передать. И все же это простое утверждение никогда не встречается в официальных статьях, которые вводят людей в заблуждение.

Итак, Controller - наш бог. Контроллер запрашивает какой-то метод в классе, который вызывает методы другого класса. Кроме того, все это связано с внедрением зависимостей, поскольку нам нужен только один экземпляр для объектов одноэлементной природы. Контроллер> Сервис> DAO и все. Я был бы очень признателен за книгу, написанную прагматиками.

Если бы люди писали книги, основываясь на том, как на самом деле все обстоит, а не на том, как сделать их красиво нарисованными на диаграммах или написав бесконечные вопросы, как таковые, никогда бы не возникли в первую очередь. И я благодарю stackoverflow за людей, которые всегда показывают мне путь. ; -)

1 Ответ

6 голосов
/ 26 февраля 2012

MVC и архитектура DAO / Service - это меньше концепций, которые содержатся внутри друг друга, чем те, которые находятся рядом друг с другом.

В MVC ваш контроллер заботится о получении всех данных, помещая их вмодели в некотором роде, и передачи модели в представление, которое будет отображено.Если вы также используете архитектуру DAO / Service, ваши DAO / Services могут возвращать сущность, которая содержит всю информацию, которую вы будете отображать на данной странице, и люди часто используют ее в качестве модели для представления, если все относительно просто.

Проблема этой тактики заключается в том, что у вас возникают зависимости между вашими представлениями и конкретной реализацией вашей модели.Кроме того, если позже вы решите, что вам нужна дополнительная информация, которая не включена в вашу модель, вам придется переписать свое представление, чтобы учесть это.Вот почему часто предлагается сделать как можно больше подготовки данных в контроллере, прежде чем передавать очень простую модель (Map) в представление.

Вот диаграмма, показывающая разделение слоев:

diagram showing the separation of layers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...