Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Разработка информационных систем Новый топик    Ответить
 Mapping сущностей  [new]
EIT
Member

Откуда:
Сообщений: 19
Все привет. Если мы имеем дело с многоуровневой системой требующей преобразования сущностей из одного контекста в другой, то где это нужно делать? К примеру если имеется клинское приложение. В нем есть слой взаимодействия с веб-сервисом со специфичными DTO. Должен ли слой бизнес логики использующий его, сам заниматься преобразованием из DTO в бизнес сущности, или он получает их уже готовые от веб-сервис слоя?
30 июл 17, 17:58    [20685998]     Ответить | Цитировать Сообщить модератору
 Re: Mapping сущностей  [new]
hVostt
Member

Откуда:
Сообщений: 11803
EIT,

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

Проблема в том, что клиенту может понадобится много разных DTO для разных целей. А бизнес-логика должна их обслуживать в едином ключе. Лучший способ, это когда клиент указывает свой DTO, а слой бизнес-логики обслуживает его. Это можно сделать с помощью Query Object, спецификациями, проекциями, маппингом и прочими штуковинами.
30 июл 17, 20:21    [20686239]     Ответить | Цитировать Сообщить модератору
 Re: Mapping сущностей  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30418
hVostt
Лучший способ, это когда клиент указывает свой DTO, а слой бизнес-логики обслуживает его. Это можно сделать с помощью Query Object, спецификациями, проекциями, маппингом и прочими штуковинами.

Как это выглядит конкретно для REST + C#?
- клиент прописывает маппинг на урл. Вроде DTO и не пахнет.
- библиотека на сервере автоматом делает JSON из сущностей. Вроде тоже DTO не пахнет.
Или вопрос только про толстого клиента с кодом C# на клиенте?
30 июл 17, 21:25    [20686305]     Ответить | Цитировать Сообщить модератору
 Re: Mapping сущностей  [new]
monstrU
Member

Откуда: Москва
Сообщений: 1033
EIT,

я завел слой конвертеров- один объект в другой. выглядит это как отдельная задача - вот отдельный слой этим и занимается.
внутри конвертера он сам решает - использовать automapper или маппить свойства напрямую
30 июл 17, 23:18    [20686466]     Ответить | Цитировать Сообщить модератору
 Re: Mapping сущностей  [new]
hVostt
Member

Откуда:
Сообщений: 11803
Petro123,

REST+C# решается OData-й, ггг :)

Надо какой-то пример для обсуждения.
30 июл 17, 23:24    [20686480]     Ответить | Цитировать Сообщить модератору
 Re: Mapping сущностей  [new]
hVostt
Member

Откуда:
Сообщений: 11803
monstrU,

Вот так можно, да.
30 июл 17, 23:24    [20686481]     Ответить | Цитировать Сообщить модератору
 Re: Mapping сущностей  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 22879
Petro123
hVostt
Лучший способ, это когда клиент указывает свой DTO, а слой бизнес-логики обслуживает его. Это можно сделать с помощью Query Object, спецификациями, проекциями, маппингом и прочими штуковинами.

Как это выглядит конкретно для REST + C#?
- клиент прописывает маппинг на урл. Вроде DTO и не пахнет.
- библиотека на сервере автоматом делает JSON из сущностей. Вроде тоже DTO не пахнет.
Или вопрос только про толстого клиента с кодом C# на клиенте?

И какие же типы возвращаются методами клиента?
4 авг 17, 14:55    [20701035]     Ответить | Цитировать Сообщить модератору
Все форумы / Разработка информационных систем Ответить