Критика архитектуры:SQL Server FOR XML в XSLT для расширенного интерфейса HTML

StackOverflow https://stackoverflow.com/questions/380789

Вопрос

Могу ли я получить конструктивный отзыв о следующей архитектуре?

Краткое описание упрощенной архитектуры:

Возвращайте XML с вашего SQL-сервера (используя FOR XML) и передайте его прямо в преобразование XSL, чтобы создать веб-сайт с богатым HTML-кодом.

Каковы плюсы и минусы такой системы по сравнению с обычной трехуровневой архитектурой ASP.NET?

Это было полезно?

Решение

Мы сделали что-то вроде этого.И это работает для очень простых страниц.Но как только вы захотите включить какой-нибудь клиентский JavaScript и тому подобное, вы обречены.

Сгенерированный вывод скрыт в таблицах стилей XSLT, и его очень сложно читать, поддерживать и исправлять ошибки.

Тестирование можно проводить, но с гораздо большими усилиями, чем раньше.

Шаблон MVC и подобные ему гораздо лучше подходят для такого сценария.

Другие советы

Два минуса.

  1. Манипулирование данными с помощью C# или VB.net становится сложнее, поскольку у вас нет классов со свойствами (код intellisense), а есть XML-документы.

  2. Существуют встроенные элементы управления asp.net для проверки ввода данных (как на стороне клиента, так и на стороне сервера).Вы не сможете использовать их, если для создания HTML-страницы используете XSLT.

Я сделал нечто подобное в проекте.Я считаю эту архитектуру очень чистой и масштабируемой, но я бы советовал вам использовать ее только в том случае, если у вас есть большой опыт работы с XSLT.

У нас есть несколько шаблонов XSLT и общий класс C#, который выполняет преобразование с использованием параметров XSLT.Мы получаем очень хорошую производительность, но новым разработчикам может быть сложно поддерживать приложение.

Один плюс:

  1. Вы можете создавать XSLT-шаблоны, которые создают HTML для браузера или XAML для WPF/Silverlight.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top