powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос про автомаппер, архитектуру, базы
25 сообщений из 89, страница 3 из 4
Вопрос про автомаппер, архитектуру, базы
    #39576028
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAС чего вдруг сервис перестанет поставлять часть данных? С чего вдруг другие не узнают? Кто это другие?
Хотелось бы конкретики, а не беспредметный спор.

Смысл обсуждать увидел? )

Пример:
некий cms получает список товаров из сервиса.
в товар добавили новое поле.
cms автоматом его получит обновив сборку.
нет дублирования, профит.

hVosttВ смысле, дублировать? Если какие-то классы похожи, это не значит, что они одно и то же.

dto, который один сервис отправил, а другой принял - один и тот же dto, и если он изменился, то это дожно произоити у всех.
или отправленный dto просто похож и киент должен его продублировать?
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576034
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамонdto, который один сервис отправил, а другой принял - один и тот же dto, и если он изменился, то это дожно произоити у всех.
или отправленный dto просто похож и киент должен его продублировать?

про Swagger уже было сказано, так же что у SOAP, что у той же OData есть контракты, позволяющие тебе сгенерировать классы у клиентов для любых языков.

где ты видел, чтобы поставляли DLL-ки с DTO-шками?
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576035
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамоннекий cms получает список товаров из сервиса.
в товар добавили новое поле.
cms автоматом его получит обновив сборку.
нет дублирования, профит.

т.е. ты не видишь тут очевидной проблемы, в этом "решении"?
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576041
puppy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAЕсли опустить, мягко говоря, не совсем верные формулировки, то да.

А какие формулировки неверные? Еще и с устрашающим "мягко говоря" префиксом?
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576043
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПарамонdto, который один сервис отправил, а другой принял - один и тот же dto, и если он изменился, то это дожно произоити у всех.
или отправленный dto просто похож и киент должен его продублировать?

про Swagger уже было сказано, так же что у SOAP, что у той же OData есть контракты, позволяющие тебе сгенерировать классы у клиентов для любых языков.

где ты видел, чтобы поставляли DLL-ки с DTO-шками?
мы не говорим про открытые апи, а в рамках своих проектов.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576044
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПарамоннекий cms получает список товаров из сервиса.
в товар добавили новое поле.
cms автоматом его получит обновив сборку.
нет дублирования, профит.

т.е. ты не видишь тут очевидной проблемы, в этом "решении"?
я видел такое решение, и оно работало без проблем.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576045
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамонмы не говорим про открытые апи, а в рамках своих проектов.

ты проблемы не видишь да?

Парамоня видел такое решение, и оно работало без проблем.

я столько проектов повидал, написанных через жопу, но которые работали, что это не аргумент
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576067
puppy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Парамон, hVostt,

вообще, если говорить о конкретной системе, а не в общем в теории, то тут получается 2 совершенно разных комплекта дтошек: между интрефейсом и сервисами и между ран-тайм сервисом и сервисами. Там конечно встречаются одинаковые поля, но скомпонованы они структурно совершенно по разному. Так что вопрос о пользовании одинаковыми дтошками не стоит - они разные. Вопрос был - не надо ли сделать все в одном месте и одновременно все регистрировать. Ответ, как я понял, - не надо )
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576080
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
puppyА какие формулировки неверные?Вам шашечки или ехать?
Ветка программистов. Дорожная карта есть. Вперед писать))
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576081
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttты проблемы не видишь да?

проблем тут полно, в чем фатальная? )
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576178
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонhVosttты проблемы не видишь да?

проблем тут полно, в чем фатальная? )

в том, что путаешь контракт сервиса и контракт передачи данных, DTO является контрактом сервиса, а не передачи данных.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576208
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAС чего вдруг сервис перестанет поставлять часть данных? С чего вдруг другие не узнают? Кто это другие?
Хотелось бы конкретики, а не беспредметный спор.

Смысл обсуждать увидел? )Я же написал: "Хотелось бы конкретики". Будет конретика - будет смысл обсуждать.

ПарамонПример:
некий cms получает список товаров из сервиса.
в товар добавили новое поле.
cms автоматом его получит обновив сборку.
нет дублирования, профит.

Парамонмы не говорим про открытые апи, а в рамках своих проектов
Ну хоть что-то.

Сервис - это микросервис, обращение к которому по HTTP? Или это просто сборка, что цепляется через Add Reference?
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576239
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttв том, что путаешь контракт сервиса и контракт передачи данных, DTO является контрактом сервиса, а не передачи данных.
почему dto не может использоватся в качестве контракта передачи данных?
skyANAСервис - это микросервис, обращение к которому по HTTP? Или это просто сборка, что цепляется через Add Reference?
HTTP
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576277
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамонпочему dto не может использоватся в качестве контракта передачи данных?

Потому что у тебя создана прямая зависимость двух отдельных друг от друга сервисов. Добавление поля съест любой сервис, но это не означает, что будет поддерживаться логика, и узнать об этом невозможно до возникновения реальных проблем. Использование в микросервисах выглядит ещё более странно, контракты должны быть простыми.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576292
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПотому что у тебя создана прямая зависимость двух отдельных друг от друга сервисов
скажем контракт
hVosttДобавление поля съест любой сервис, но это не означает, что будет поддерживаться логика, и узнать об этом невозможно до возникновения реальных проблем
Обычно добавление поля делают для клиента, и зачастую по его запросу.
Ну, и можно его оповестить.
А как еще изменить поле не нарушив логику клиента?
Дальше версионность api, но это не по теме dto.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576303
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонОбычно добавление поля делают для клиента, и зачастую по его запросу.

Ты говорил речь не идёт о публичном АПИ. Темнишь..


ПарамонА как еще изменить поле не нарушив логику клиента?
Дальше версионность api, но это не по теме dto.

Всё же я говорил про DTO, а не про АПИ.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576304
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

Доходит до того, что в сервисные DTO пихают поля, нужные клиенту в его АПИ. А потом выпячивая грудь говорят: зато код не дублируется... вы чего, с дуба рухнули? )))))
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576343
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttТы говорил речь не идёт о публичном АПИ. Темнишь..
клиент в данном случае, это другой сервис.
hVosttДоходит до того, что в сервисные DTO пихают поля, нужные клиенту в его АПИ. А потом выпячивая грудь говорят: зато код не дублируется... вы чего, с дуба рухнули? )))))
в dto пихают то, что нужно передать кому либо.
проблема где?
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576370
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонhVosttДоходит до того, что в сервисные DTO пихают поля, нужные клиенту в его АПИ. А потом выпячивая грудь говорят: зато код не дублируется... вы чего, с дуба рухнули? )))))
в dto пихают то, что нужно передать кому либо.
проблема где?

ещё раз, в dto добавляется поле, которое напрямую влияет или связана с логикой, по сути все поля в dto имеют смысл для клиентов классов сервисов. то, что сериализуется куда-то там JSON, это не DTO, это модели для сериализации. то, что DTO совпадает с этими моделями, это всего лишь удачный частный случай, но строить вокруг этого архитектуру -- ошибка.

вот пример, в dto добавляется поле с ндс, так как теперь он вытаскивается из цены и теперь цена кардинально меняет смысл и меняется расчёты, меняются отчёты, меняется то вид данных. но сервисы с обновлёнными dto прекрасно компилируются и даже работают.

также апи может мультиплексировать данные в целях для оптимизации канала, передавать тех. поля, данные для контроля целостности, актуальности и т.п. когда архитектура построена на DTO=API, это всё впихивают в классы, которые болтаются мёртвым грузом на слое работы с данными и не дают обеспечить нормальное тестирование.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576378
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

проблема наверное таки в терминологии. потому что ты называешь DTO классы моделей для АПИ, ничего дурного нет, если ты выделишь такие модели в отдельную сборку. но это не те классы, которые должны использоваться для работы сервисов бизнес-логики, они возвращают свои DTO, ты из конвертишь в модели. если что-то меняется в моделях, не важно, просто добавляешь поле, меняешь их, или объединяешь данные разных DTO для результата АПИ, это не оказывает влияния на сервисы, просто меняется контракт. вот это дело.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576431
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПарамон,

проблема наверное таки в терминологии. потому что ты называешь DTO классы моделей для АПИ, ничего дурного нет, если ты выделишь такие модели в отдельную сборку. но это не те классы, которые должны использоваться для работы сервисов бизнес-логики, они возвращают свои DTO, ты из конвертишь в модели. если что-то меняется в моделях, не важно, просто добавляешь поле, меняешь их, или объединяешь данные разных DTO для результата АПИ, это не оказывает влияния на сервисы, просто меняется контракт. вот это дело.
Да
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576631
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAСервис - это микросервис, обращение к которому по HTTP? Или это просто сборка, что цепляется через Add Reference?
HTTP
Очень хорошо.

У нас как раз есть RESTful OnlineStore-сервис, работа с которым интегрирована как в CMS модуль, так и в административный.
В последнем админ добавляет, меняет, удаляет товары: обычный CRUD.
CMS модуль отвечает за отображение магазина посетителю сайта. Ну а вся логика она в сервисе.

При этом админская часть - это React, CMS - .Net. Сервис тоже дотнетовский.

И когда в последнем разработчик что-то меняет и пушит изменения в Git, то стартует continuous integration pipeline, в рамках которого по Swagger спецификации генерируются новые версии клиентов: JavaScript и .Net.
Выпускаются npm и NuGet пакеты, соответсвенно.

Их можно не обновлять в админке и CMS, если нет breaking changes.

Вот в такой схеме нет никакой отдельной сборки с DTO, что используется и в сервисе и в клиенте.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576748
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAcontinuous integration pipeline,
skyANAкогда в последнем разработчик что-то меняет и пушит изменения в Git, то стартует continuous integration pipeline, в рамках которого по
Обсуждаемому проекту до CI и этих инструментов далековато.
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576791
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAв рамках которого по Swagger спецификации генерируются новые версии клиентов: JavaScript и .Net.

по сути это кодогенерация моделей api?

ps
не работал со Swagger
...
Рейтинг: 0 / 0
Вопрос про автомаппер, архитектуру, базы
    #39576800
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAв рамках которого по Swagger спецификации генерируются новые версии клиентов: JavaScript и .Net.

по сути это кодогенерация моделей api?Это кодогенерация клиента.

Парамонps
не работал со SwaggerА с WSDL, XSD?
...
Рейтинг: 0 / 0
25 сообщений из 89, страница 3 из 4
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос про автомаппер, архитектуру, базы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]