Что такое MVC Turbine? - CodeHelper

Что такое MVC Turbine?

3

Для чего предназначен проект MVC Turbine, какие проблемы он решает, стоит ли его использовать? Какие есть преимущества и недостатки? Есть ли альтернативные решения?

Новые ответы

Новые Лучшие

2

Официальное описание:

MVC Turbine — это плагин для ASP.NET MVC, который взаимодействует с нижележащим IoC-контейнером и автоматически разрешает зависимости для контроллеров, движков отображения (view engines), binder`ов, view engines, http-модулей и тд.

Заявленные фичи:

  • Темплейты решений Visual Studio 2008 для IoC-контейнеров
    • Ninject
    • Castle Windsor
    • StructureMap
    • Unity
  • Новый фреймворк времени выполнения для поддержки расширяемости
    • Blades (components) — автоматически регистрируемые компоненты, которые загружаются во время выполнения.
    • Представлены объекты Core Blades для определения основных runtime-объектов приложения ASP.NET MVC:
      • MvcBlade — для MVC-специфичных компонентов (Controllers, View Engines и тд).
      • WebBlade — для компонентов пространства имен System.Web components (IHttpModule и тд).
      • RoutingBlade — для компонентов, определяющих настройку роутинга.
    • RotorContext, который работает с Blades для настройки рантайма.
  • Автоматическая регистрация объектов View Engine: любой класс, реализующий IViewEngine регистрируется срвис-локатором и используется в качестве движка отображения.
  • Авто регистрация фильтров (MVC Filters) для поддержки constructor injection.
  • InferredViewResult для обработки неопределенных action`ов и возврата ошибки 404.
  • Работает с ASP.NET MVC на Mono

Сама идея проекта, конечно, выглядит очень привлекательно. И задачи решаются вполне актуальные. Но при близком расмотрении выявляются некоторые нюансы реализации:

  • Нет поддержки для Spring.NET (Это самое обидное)
  • Нет поддержки знаменитого Comon Service Locator (абстракция над всеми популярными IoC-контейнерами)
  • MVC Turbine определяет собственный синтаксис регистрации зависимостей в контейнере, что само по себе сомнительно, учитывая, что в проекте уже используется синтаксис какого-то из IoC-контейнеров.

v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.