Как ENFORCED разделение интересов в ASP.NET MVC? - PullRequest
3 голосов
/ 06 августа 2009

Я изучаю, играю и работаю с ASP.NET MVC с версии Preview 1 в 2007 году (декабрь). Я болею за это с 2008 года и поддерживаю его до конца.

Однако я продолжаю слышать и читать «ASP.NET MVC обеспечивает строгое разделение интересов», включая чтение его в Professional ASP.NET MVC 1.0 Робом Конери, Скоттом Хансельманом, Филом Хааком и Скоттом Гатри.

Что я не понимаю, так это исполнение . Что делать, если я определяю свой контроллер с действиями только с

return View();

а в представлении (aspx view engine) я все делаю? (выборка данных, бизнес-логика, принятие решений, рендеринг и т. д.)

Как это (ASP.NET MVC) ПРИНЯТЬ Я, чтобы разделить проблемы?

Я думаю, что это явное преувеличение, и оно должно гласить «предлагает разделение проблем».

Можете ли вы убедить меня, что это навязывает?

Ответы [ 4 ]

7 голосов
/ 06 августа 2009

Главное, чтобы он начинался с на правой ноге - то есть с отдельным контроллером и видом. Если вы решите сделать что-то сумасшедшее, вас никто не остановит. За исключением, надеюсь, рецензий. И здравый смысл.

Но в отличие от веб-форм, где вы должны попробовать очень трудно не , чтобы смешать проблемы.

4 голосов
/ 06 августа 2009

Я не думаю, что это усиливает это, поэтому они, вероятно, ошибаются. Как вы сказали, «предлагает» или «продвигает» - это лучшее слово.

2 голосов
/ 06 августа 2009

Какой механизм вы бы предложили для «принуждения» того типа, который вам нужен? Должна ли инфраструктура выдавать предупреждения, когда цикломатическая сложность кода View превышает некоторый порог? Должна ли инфраструктура запускать что-то вроде lint на вашем источнике и давать вам пощечину, когда вы делаете вещи не из MVC (какими бы они ни были)?

Если говорить более конкретно, какой будет выигрыш от всех этих потрясений? Разве мы не пытаемся писать приложения, которые нравятся нашим пользователям?

2 голосов
/ 06 августа 2009

Конечно, вы можете делать все в представлении. Вы были бы просто ужасным программистом и совсем не следовали бы шаблону MVC.

Я также уверен, что есть некоторые вещи, которые вы не можете делать в представлении вообще, только в контроллере. Хотя, возможно, мои .Net и Rails перепутаны.

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