Структура проекта ASP.NET Model View Presenter - PullRequest
1 голос
/ 22 октября 2008

Я только начинаю новый проект ASP.NET и использую шаблон MVP. Я рассматривал MS MVC, но он еще не выпущен и станет большой кривой обучения для некоторых людей в команде, поэтому я выбрал MVP сейчас и, возможно, будущие проекты MVC.

В любом случае, мне кажется, у меня будет один класс Controller / Presenter для каждой веб-формы, в которой у меня есть проект. Это много лишних классов, существенно удваивающих количество файлов в веб-проекте. Это как другие люди структурируют MVP или каковы альтернативы?

Ответы [ 3 ]

1 голос
/ 22 октября 2008

Это, похоже, распространенное заблуждение -> "Больше файлов / классов == более сложное"

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

Я собираюсь использовать бета-версию ASP MVC. Причина в том, что, хотя это все еще только бета (PDC очень скоро, это может повлиять на выпуск, и у нас было 5 предварительных выпусков), у него есть лучшая структура для поддержки этого стиля, чем я мог бы написать за разумное время кадр.

Можно, конечно, пойти с другим каркасом, например, монорельсом замка.

0 голосов
/ 22 октября 2008

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

По моему опыту, я повторно использовал интерфейсы представления и даже программный код, где структура представления идентична, но представляет разные данные. И вы также можете подумать о повторном использовании контроллеров, где это применимо.

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

0 голосов
/ 22 октября 2008

Я думаю, что многое зависит от этого, но в большинстве случаев это действительно так.

Я лично использую n-уровневую архитектуру с кодом данных, бизнеса, презентации. (Кто знает, какой фактический формат я следую). Я получаю гораздо больше файлов, чем если бы я все делал в aspx, но с кодом гораздо проще управлять.

...