Я использую согласование содержимого, поэтому в зависимости от заголовка запроса я предоставляю вывод в формате JSON / XML. Теперь мне было интересно, как лучше всего использовать эту функцию.
Информация:
BLL = уровень бизнес-логики
DTO = объект передачи данных
DAL = уровень доступа к данным
Пример псевдокода для DTO
class ExampleDTO{
propertie name;
propertie description;
}
Пример псевдокода для BLL
class ExampleBLL{
GetExample(name) returns ExampleDTO;
GetExamples() returns List<ExampleDTO>;
}
1) В графическом интерфейсе с BLL-объектом: преобразовывает результат DTO из BLL в JSON / XML
2) В BLL: что-то вроде ... getObjectJSON () -> преобразует и возвращает DTO-ввод в формат JSON
3) В DTO: поведение как ... toJSON () toXML () как toString ()
4) Или дополнительные DTO только с 1 свойством (json / xml)
5) Что-то еще? ...
* Лично я думаю (1) неправильно по причине не допускать логику в GUI, (4) кажется чрезмерным иметь дополнительные DTO, такие как WebJsonExampleDTO И WebXmlExampleDTO только с одним свойством