ASP.NET MVC против XSL - PullRequest
       31

ASP.NET MVC против XSL

7 голосов
/ 02 сентября 2008

Может ли кто-нибудь (может быть XSL-фанат?) Помочь мне найти какие-либо преимущества в обработке представления данных на веб-странице с XSL по сравнению с ASP.NET MVC?

Две альтернативы:

  1. ASP.NET (MVC / WebForms) с XSL
    Получение данных из базы данных и их преобразование в XML, который затем отображается на разных страницах с помощью XSL-шаблонов.

  2. ASP.NET MVC
    Получение данных из базы данных в виде объектов C # (или объектов LinqToSql / EF) и отображение их со встроенным кодом на MVC-страницах.

Основным преимуществом XSL было последовательное отображение данных на многих различных страницах, таких как WebControls. Итак, поправьте меня, если я ошибаюсь, ASP.NET MVC можно использовать таким же образом, но со строго типизированными объектами. Пожалуйста, помогите мне увидеть, есть ли какие-либо преимущества для XSL.

Ответы [ 6 ]

7 голосов
/ 02 сентября 2008

Я вижу, что основным преимуществом использования XSLT для преобразования ваших данных и отображения их пользователю будет следующее:

  • Данные уже в формате XML
  • Данные следуют четко определенной схеме (это значительно упрощает использование таких инструментов, как XMLSpy).
  • Данные должны быть преобразованы во множество различных форматов вывода, например, PDF, WMP и HTML

Если это будет единственный вывод для ваших данных, и он не в формате XML, то XSLT может быть не лучшим решением.

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

6 голосов
/ 02 сентября 2008

Я всегда обнаруживал две основные проблемы при работе с преобразованиями XML:

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

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

В настоящий момент MVC очень быстр и выглядит многообещающе, но страдает от традиционного упадка веб-разработки в виде <% и %> пчел во всем вашем коде. Использование преобразований XML позволяет избежать этого, но гораздо сложнее читать и поддерживать.

4 голосов
/ 02 сентября 2008

Я использовал эту технику в прошлом, и есть приложения, где мы используем ее на моем нынешнем месте работы. (Я признаю, я не совсем фанат этого, но я буду играть адвоката дьявола) На самом деле это одна из главных новинок, и продвижение этой идеи может быть довольно аккуратным. Вы можете динамически создавать xsl на лету и изменять внешний вид страницы по своей прихоти. Можно ли сделать это с помощью других методов ... да, но действительно легко создать программу для изменения документа xml / xsl на лету.

Если вы думаете об использовании XSL для преобразования одного XML-документа в другой и отображения его в виде html (что на самом деле и делает), вы открываете свою систему, чтобы другие программы могли получить доступ к данным на странице через XML. Вы можете сделать это с помощью других методов, но использование преобразования xsl заставляет его каждый раз выводить xml.

Я бы легкомысленно пошёл на создание системы таким способом. Вы найдете множество провалов, которых вы не ожидаете, и если вы действительно не очень хорошо знаете xsl, то будет и кривая обучения.

1 голос
/ 11 июня 2009

Проверьте это, если вы хотите использовать XSLT и ASP.MVC

http://www.bleevo.com/2009/06/aspnet-mvc-xslt-iviewengine/

1 голос
/ 19 февраля 2009

Джафар Хусейн (Jafar Husain) предлагает несколько преимуществ в своем предложении для Pretty XSL , в первую очередь кэширование таблицы стилей для увеличения загрузки страницы и уменьшения размера ваших данных. Стив Сандерсон предложил немного другой подход с использованием JavaScript в качестве контроллера здесь .

Другой, похожий подход заключается в использовании XForms , хотя лучшая поддержка для него - через библиотеку JavaScript .

0 голосов
/ 02 сентября 2008

Если вы собираетесь отображать данные только из шаблонов DB XSL, это может быть удобным решением, но если вы собираетесь обрабатывать взаимодействие с пользователем. Хм ... я не думаю, что это вообще можно будет обслуживать.

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