T4MVC или MvcFutures для строго типизированных ссылок в представлениях - PullRequest
3 голосов
/ 25 февраля 2011

Я пытаюсь уменьшить / исключить "волшебные строки" из моего проекта MVC3, и мне было интересно, какой подход будет лучше:

  1. используйте MvcFutures и сделайте что-то вроде:

    var title = "Create New Customer"; 
    Html.ActionLink
        (c => c.Create(), title , new { @class = "button", title = title });
  2. использование T4MVC

Какой вариант является более гибким, более производительным, более простым при рефакторинге и т. Д. И т. П.?

Мысли

Ответы [ 2 ]

5 голосов
/ 25 февраля 2011

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

Также очень легко написать свои собственные расширения, использующие фиктивный класс ActionResult от T4MVC.Например, у меня есть несколько помощников ActionImage, которые извлекают необходимую информацию о маршрутизации для генерации результирующей разметки.

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

0 голосов
/ 25 февраля 2011

T4MVC будет работать лучше.Хелперы в MvcFutures, которые вас интересуют, используют выражения, которые должны быть медленнее, чем встроенные методы (одна из причин, почему эти методы отсутствуют в базовой сборке MVC).В общем, вы должны знать, что MvcFutures может иметь проблемы с производительностью и другие функциональные проблемы.

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