Структура проекта ASP.NET Model View Presenter

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
1 551
3

Ответы 3

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

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

Это очень похоже на то, что есть у меня. У меня есть модели, сервисы и веб-слои.

Craig 22.10.2008 02:19

Кажется, это распространенное заблуждение -> «Больше файлов / классов == более сложные»

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

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

Вы, конечно, можете использовать другую структуру, например замковую монорельсовую дорогу.

Я лично хотел бы пойти с ASP.NET MVC. Я сам использовал его для www.jobtree.com.au. К сожалению, многим разработчикам не нравится идея потерять свои GridView и другие визуальные компоненты. :-П

Craig 22.10.2008 01:50

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

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

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

Другие вопросы по теме