ASP.NET MVC по сравнению с XSL

Преобразование моего старого комментария для лучшей видимости: для «лучшего способа сделать это» без map целиком, если ваши входы, как известно, являются ординалами ASCII, обычно гораздо быстрее конвертировать в bytes и декодировать, a la bytes(list_of_ordinals).decode('ascii'). Это дает вам str значений, но если вам нужно list для изменчивости или тому подобное, вы можете просто преобразовать его (и он все же быстрее). Например, в ipython микрообъектах, преобразующих 45 входов:

>>> %%timeit -r5 ordinals = list(range(45))
... list(map(chr, ordinals))
...
3.91 µs ± 60.2 ns per loop (mean ± std. dev. of 5 runs, 100000 loops each)

>>> %%timeit -r5 ordinals = list(range(45))
... [*map(chr, ordinals)]
...
3.84 µs ± 219 ns per loop (mean ± std. dev. of 5 runs, 100000 loops each)

>>> %%timeit -r5 ordinals = list(range(45))
... [*bytes(ordinals).decode('ascii')]
...
1.43 µs ± 49.7 ns per loop (mean ± std. dev. of 5 runs, 1000000 loops each)

>>> %%timeit -r5 ordinals = list(range(45))
... bytes(ordinals).decode('ascii')
...
781 ns ± 15.9 ns per loop (mean ± std. dev. of 5 runs, 1000000 loops each)

Если вы оставите его как str, это займет ~ 20% от времени самых быстрых map решений; даже конвертируя обратно в список, он по-прежнему составляет менее 40% от самого быстрого решения map. Массовое преобразование через bytes и bytes.decode, тогда объемное преобразование обратно в list экономит много работы, , но , как отмечено, работает только, если все ваши входы являются ординалами ASCII (или ординалами в некотором байта на конкретное кодирование для каждого символа, например latin-1).

7
задан StanK 4 May 2012 в 00:47
поделиться

6 ответов

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

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

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

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

7
ответ дан 6 December 2019 в 10:05
поделиться

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

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

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

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

6
ответ дан 6 December 2019 в 10:05
поделиться

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

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

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

4
ответ дан 6 December 2019 в 10:05
поделиться

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

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

1
ответ дан 6 December 2019 в 10:05
поделиться

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

0
ответ дан 6 December 2019 в 10:05
поделиться

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

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

1
ответ дан 6 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: