2009-05-04 3 views
3

Я довольно новичок в ASP.MVC. Для нашего нового веба-приложения Я рассматриваю между двумя вариантами для просмотра двигателей:ASP.MVC: Внедрение шаблона без шаблонов?

  1. Используя некоторые из доступных двигателей просмотра (по умолчанию один, NVelocity, гиты и т.д.) в качестве генератора первичного вида кода.
  2. Реализация C# DSL для приложений для генерации HTML-кода, чтобы основная часть кода вида хранилась в классах C# (с использованием какого-то smart HTML generation like the one described by Jimmy Bogard).

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

Как вы думаете?

ответ

2

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

Кроме того, если ваши взгляды вызывают у вас такую ​​боль, я бы предположил, что вы не можете правильно использовать представления. Вы должны увидеть очень мало повторений в своих представлениях по всему сайту. Например, общие части должны быть реорганизованы в отдельные куски и оттянуты оттуда.

+0

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

+1

-1 Это очень хорошо работает в Приморье. Так что это можно сделать правильно. –

+0

Стефан: Я никогда не говорил, что это невозможно сделать правильно, просто это может показаться плохим. В общем, частое повторение может быть запахом кода. –

Смежные вопросы