Управление представлениями / шаблонами веб-сервисов для нескольких клиентов - PullRequest
0 голосов
/ 18 ноября 2008

У меня есть серверный веб-сервис, который обслуживает несколько клиентов. Клиентами являются веб-браузеры, iPhone, BlackBerry, Android и т. Д. Мой вопрос заключается в том, что мне нужно иметь возможность генерировать динамический контент для просмотра этих клиентов. Будь то полноценный шаблон HTML, фрагмент HTML, JSON, XML и т. Д. В зависимости от пользовательского агента запрашивающего клиента, веб-сервер генерирует и выводит другой шаблон «представления».

Мой вопрос заключается в том, существуют ли какие-либо элегантные структуры или стили «представления» для адаптации, которые упрощают управление всеми этими фрагментами / фрагментами / полными шаблонами в некотором упорядоченном виде? Я искал элегантный способ управления этим множеством клиентских обработок с простым обслуживанием и простой процедурой передачи для разработчиков пользовательского интерфейса.

Ответы [ 3 ]

1 голос
/ 18 ноября 2008

Что вам нужно, так это четкое разделение модели и презентации. Если вы напишите несколько общих компонентов, которые извлекают данные независимо от представления (модель), вы можете иметь несколько адаптеров, которые отображают выходные данные для каждой конкретной цели (представления). Вокруг этого есть рамки, которые связывают все это в один большой пакет; Они обычно обозначаются как MVC-framework s. Но тебе это не нужно, если тебе не по вкусу. Для большинства видов вывода вы можете использовать шаблонизатор, чтобы помочь вам написать представления. Для вещей, которые требуют больше данных - меньше представления - таких как JSON или XML и общего вывода, предназначенного для машинного потребления, вы, вероятно, использовали бы что-то еще для генерации вывода.

0 голосов
/ 22 мая 2009

Я думаю, что вы ищете шаблонный движок. Я давно пользуюсь Smarty и мне это очень нравится. Это создает разделение между логикой и дизайном страниц. Все, что вам нужно сделать, это загрузить файл шаблона для пользовательского агента, который сделал запрос. Остальная логика останется прежней.

http://www.smarty.net/

0 голосов
/ 18 ноября 2008

Прежде всего вы не должны возвращать HTML веб-сервисом. ИМХО веб-сервис должен возвращать универсальную / независимую от клиента форму. Я бы предложил использовать простую веб-страницу ASPX, которая получает несколько преобразований компоновки XSL для некоторых клиентов.

Сделайте его настраиваемым, и вам не придется долго трогать код, даже если появятся новые клиенты или изменится ваша визуализация.

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