MVC: должен ли слой Model содержать только DAO и DAOHelpers? - PullRequest
0 голосов
/ 17 февраля 2011

что, по вашему мнению, должно присутствовать на уровне модели?Только помощники DAO и DAO?что еще может присутствовать?Регистратор?что?

Я проектирую свое первое приложение, и вчера у меня был вспомогательный класс Model, который можно было использовать, но я не был уверен, куда мне его поместить.

Это был сборщик данныхи класс форматирования, для некоторых типов вещей моего приложения.

Приветствия.

Ответы [ 3 ]

4 голосов
/ 17 февраля 2011

Только модельные классы (DAO), включая интерфейсы и общие базовые классы, должны входить в уровень модели.

Logger - это еще одна функциональность, и, поскольку она используется и другими слоями / ярусами, я бы поместил ее в своего рода «каркасный» слой, который собирает все те вспомогательные классы, которые нельзя назначитьна один конкретный уровень.


Википедия сообщает нам, что шаблон MVC «изолирует« доменную логику »(логику приложения для пользователя) от пользовательского интерфейса (ввод и представление)».В этом случае для чисто реализации MVC только с тремя уровнями вся логика домена (DAO, бизнес-логика, даже логика постоянства) должна перейти на уровень модели.

Но для меня это причина not ограничивает архетектуру этими тремя уровнями и добавляет слой постоянства, уровень структуры и уровень бизнес-служб по мере необходимости.Слои MVC являются своего рода «подсистемой» внутри всей системы архитектурных слоев.

2 голосов
/ 17 февраля 2011

<a href="http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller" rel="nofollow"><strong>Model:</strong></a><br> The <strong>model</strong> manages the behavior and data of the application domain, responds to requests for information about its state (usually from the view), and responds to instructions to change state (usually from the controller).</p> <p>In event-driven systems, the model notifies observers (usually views) when the information changes so that they can react.

Итак, если мы будем следовать этому классическому утверждению , тогда, конечно, все Объекты доступа к данным и интерфейсы ( Фасад ) должен быть только частью слоя Model.

1 голос
/ 17 февраля 2011

В модели должны быть ВСЕ данные, как это должно быть представлено в виде. Представление - это ТОЛЬКО слои представления и не должно выполнять никакой логики (да, я знаю, я также делаю некоторые циклы foreach, на мой взгляд).

Итак, мой вывод заключается в том, что в модели вы переводите свои данные (это может быть DAO), чтобы сделать данные, которые вы можете выводить, как есть на ваш взгляд. Для меня это также могут быть новые объекты, которые живут только внутри модели.

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