MVC - это нормально, что бизнес-модели знают друг друга? - PullRequest
4 голосов
/ 06 января 2010

Простой вопрос: в MVC нормально ли взаимодействовать одной модели с другой? Например, с моделью Auth ... может ли она взаимодействовать с моделью User - или есть ли лучший способ сделать это?

Должен ли посредник быть контролером?

Ответы [ 3 ]

3 голосов
/ 06 января 2010

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

3 голосов
/ 06 января 2010

Они, безусловно, могут знать друг о друге и использовать функции друг друга. Часто передовой опыт будет держать это в одну сторону, но не всегда. Как сказал dj_segfault, это взаимодействие должно осуществляться с помощью открытых методов. Обязательно прочтите Внедрение зависимостей ; изменение внутренней работы одного класса не должно нарушать другого, если все открытые методы ведут себя одинаково.

3 голосов
/ 06 января 2010

Взаимодействие различных классов модели просто отлично.Большинство сложных объектов не являются полностью автономными.Как и с любым хорошим ОО-кодом, классы должны использовать открытые методы и не показывать друг другу свою реализацию, но кроме этого все хорошо.

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