Это хороший способ структурировать модель в приложении MVC? - PullRequest
0 голосов
/ 29 сентября 2010

Это больше "Я делаю это правильно?" вопрос.

Я использую инфраструктуру MVC (Zend Framework), и мне было интересно, если это лучший способ структурировать модель.

В этом случае у меня есть модель групп пользователей, и после некоторого программирования я понял, что на своих контроллерах я повторял некоторые вещи, такие как запрос, чтобы вернуть видимые группы.

$model->fetchAll( array(
     'enabled = 1',
     'visible = 1'
) );

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

Основываясь на этой же ситуации, я также создал много других методов, таких как скрытые группы, отключенные группы и т. Д.

Это лучший способ избежать дублирования кода? Меня беспокоит то, что если я продолжу вставлять этот код в контроллеры, у меня будет большая головная боль, если бизнес-правило для видимых групп изменится в будущем.

В то же время меня также беспокоит то, что, если я буду следовать этому новому подходу, я получу раздутую модель, полную методов для возврата запросов.

Как вы справляетесь с такой ситуацией?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 29 сентября 2010

если вы пишете запросы для извлечения данных в контроллерах, то где же находится слой модели mvc? Я бы написал отдельный слой, который будет получать, добавлять, редактировать и т. д. мои доменные модели. Вы можете взглянуть на шаблон хранилища в php здесь .

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