Может ли служебный класс быть классом Model в среде MVC? - PullRequest
7 голосов
/ 09 августа 2010

Я занимаюсь разработкой MVC-фреймворка, но я не знаю, куда мне поместить служебные классы.Я читал где-то, где говорится, что служебные классы - это классы моделей.Правильно ли это мышление или это какой-то отдельный класс?

Ответы [ 3 ]

7 голосов
/ 09 августа 2010

Это зависит от того, что делают эти служебные классы. Основная идея MVC состоит в том, чтобы отделить уровень представления (V и C) от оставшегося приложения (M). Если ваши классы Utility обрабатывают вещи, относящиеся к уровню представления, поместите их в соответствующий пакет, например ViewHelpers или InputHandlers. Если функции утилиты относятся к чему-либо еще, посмотрите, в какой слой в вашей модели они лучше всего подходят, например, утилиты DataAccess входят в пакет DAO, а MailHelper - в пакет служб и т. Д.

0 голосов
/ 09 августа 2010

Класс модели может содержать ваш код доступа к данным, логику приложения. так что это нормально для размещения в модели.

Наилучший подход - создать папку Utility в папке Model и поместить туда класс утилиты.

0 голосов
/ 09 августа 2010

Если это не представление хранимых данных, то, вероятно, это не класс Model.Даже в этом случае, если он по-прежнему представляет какие-либо сохраненные данные, но ведет себя кардинально иначе, чем остальные модели, он, в любом случае, может не относиться к остальным моделям.

Функции утилит могут быть частьюк какому классу они относятся: к моделям, представлениям или контроллерам.Если они немного более общие, то они как бы живут "вне" дизайна MVC.

...