Двигаемся ли мы к классическому ASP, используя структуру MVC в .Net 3.5?

Глядя на структуру MVC, кажется, что нам требуется больше классических знаний ASP, чем обратных передач ASP.NET и состояний просмотра. Мы движемся назад к сложной логике пользовательского интерфейса + кода в фактической HTML-разметке внешнего интерфейса?


person Murtaza Mandvi    schedule 13.10.2008    source источник


Ответы (5)


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

person Jimmy    schedule 13.10.2008

Можно утверждать, что парадигма MVC — это шаг назад, если вы считаете парадигму ASP.NET шагом вперед. Лично я всегда думал, что гораздо проще писать чистый разделенный код в классическом ASP, а не в .NET, где отображаемый текст обычно разбивается на блоки кода, к которым невозможно получить доступ с помощью стандартного HTML-редактора. Я всегда думал, что архитектура ASP.NET больше направлена ​​на продвижение .NET, чем на улучшение общей структуры нашего приложения, так что в этом смысле MVC — это шаг вперед.

person Nick    schedule 13.10.2008

Забавно, что вы упомянули об этом ... У меня сегодня был такой же разговор с коллегой.

Это шаг назад? Я так не думаю... в то время как в классическом asp у вас была сложная логика в пользовательском интерфейсе, из того, что я вижу в MVC, сложная логика все еще должна быть в ваших бизнес-объектах, и любое сложное взаимодействие с объектом должно выполняться через Контроллер.

Цель, опять же, из того, что я вижу, состоит в том, чтобы сохранить пользовательский интерфейс аккуратным и подходящим, когда дело доходит до фактической бизнес-логики. Любое дополнительное раздувание будет вызвано тем, что пользовательский интерфейс станет более удобным для пользователя, например, AJAX и JQuery.

Это только мое первоначальное наблюдение относительно MVC. Это очень крутая технология, особенно учитывая то, как она расположена поверх REST, что упрощает работу с другими технологиями.

Я с нетерпением жду возможности попробовать это в паре будущих проектов!

person mattruma    schedule 13.10.2008

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

В чистом смысле вы должны иметь возможность переключать представление (скажем, XML вместо HTML) с минимальными усилиями. Это может произойти только в том случае, если логика данных содержится в моделях, а бизнес-логика содержится в контроллерах.

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

person Nick Messick    schedule 13.10.2008

Весь смысл MVC в разделении кода. Модели должны содержать всю вашу бизнес-логику, представление должно просто обрабатывать вывод для пользователя, а контроллер должен склеивать эти две части вместе.

person dragonmantank    schedule 13.10.2008