У нас есть набор доменных сущностей, которые должны быть отображены в формате html, который показывает их детали во всплывающем окне.
Я был бы рад сделать что-то вроде этого:
Product product = new Product(...);
product.ToHtml(); // or: HtmlRenderer.Render(Product);
но моя главная проблема в том, как сделать это сзади.
У меня есть 3 разных ответа:
1. Визуализация по коду:
Я могу просто написать свой код для рендеринга Html внутри метода ToHtml (C #) - проблема в том, что он слишком статический. если вы хотите немного переместить заголовок в середину, вы должны изменить код.
кроме того, очень трудно прочитать отступ HTML в C #.
2. Использование XSL:
XSL-файлы могут легко управлять Html-шаблоном, и с помощью XSLT я могу преобразовать XML-файл в нужное место документов.
парсер уже написан кем-то другим (просто нужно изучить синтаксис)
** для этого нам потребуется, чтобы каждый объект мог сериализоваться в Xml. и если объект изменился -> XML будет изменен -> xslt тоже нужно изменить
** это также даст мне возможность легко сделать отступ в HTML, например: добавить возможности CSS и \ или изменить дизайн HTML
3. используя другой шаблонизатор:
Напишите мой собственный шаблонный движок C # -> Html, чтобы он считывал шаблон из файла (* .template) и вставлял правильное свойство в нужное место шаблона с помощью отражения.
** в этом решении у нас есть много вопросов, о которых мы можем подумать, например: каким должен быть синтаксис?
это хорошо?
% Имя% % Описание%
и как мы можем обращаться с массивами?
** Может быть, мы можем использовать существующий двигатель (Brail или T4-Templating)?
Что вы предпочитаете?
ты знаешь хороший двигатель?
сейчас я предпочитаю второе решение, но оно будет очень медленным.
спасибо