powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Архитектура приложения, надо ли дублировать сущности под каждый слой
25 сообщений из 295, страница 3 из 12
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085890
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAkmawпропущено...


в DTOЕсли Вам надо в DTO, отображайте в DTO :)

Он не понимает, что Entity это уже и есть DTO, только в контексте репо. На репо он накидывает лопатой лишнюю ответственность. Ну его право конечно, но это неправильно.
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085891
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAkmawпропущено...


в DTOЕсли Вам надо в DTO, отображайте в DTO :)

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

естественно не имеет. и не должно. это тест бизнес-логики

Ну так ты мочишь тут не репо, а уже бизнес-логику. А выглядит, как будто мочишь репо, хотя это не верно. Зачем создавать путанницу намерянно, я не понимать. Видимо это особый случай садо-мазохизма.
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085894
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAЧтобы сильно не возиться можно тупо IDataRecord в то, что тебе нужно отобразить. Для репозитория с тремя методами Add, Get и GetAll этого будет достаточно.

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

ну, это если сильно концептуально. так-то Entity - это материал для ОРМ
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085896
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawskyANAпропущено...
Если Вам надо в DTO, отображайте в DTO :)

давай(те) на ты. а во что это еще можно отобразить?Ну к примеру можно отобразить классически: в модель области определения
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085897
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttkmawпропущено...


естественно не имеет. и не должно. это тест бизнес-логики

Ну так ты мочишь тут не репо, а уже бизнес-логику. А выглядит, как будто мочишь репо, хотя это не верно. Зачем создавать путанницу намерянно, я не понимать. Видимо это особый случай садо-мазохизма.

где тут я мочу бизнес-логику?

Код: c#
1.
2.
3.
4.
5.
6.
 IInfoSystemAccessService infoSystemAccessService = new InfoSystemAccessService(
                Mock.Of<IUserRepository>(d => d.GetById(userId) == new UserDTO() { }), 
                Mock.Of<IInfoSystemAccessSpecification>(d => d.GetListInfoSystemIdForDirectManager(userId) == new List<long>()  &&
                                                        d.GetListInfoSystemIdForProjectManager(userId) == new List<long>()      &&
                                                        d.GetListInfoSystemTypeIdForDirectManager(userId) == new List<long>()   &&
                                                        d.GetListInfoSystemTypeIdForProjectManager(userId) == new List<long>()));



AccessSpecification - это уровень репозитория
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085898
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAмодель области определения

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

это что еще за область?Domain Model, так понятнее?
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085900
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAkmawпропущено...


это что еще за область?Domain Model, так понятнее?

при использовании IDataReader - это все DTO, не более.
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085901
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawhVosttПросто под DTO понимаются кортежи данных, нужных бизнесу

ну, это если сильно концептуально. так-то Entity - это материал для ОРМКонцептуально ORM решает задачу преобразования объекта реального мира в форму, пригодную для сохранения в реляционной базе данных.
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085902
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANADomain Model

их просто там нет
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085904
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawskyANAпропущено...
Domain Model, так понятнее?

при использовании IDataReader - это все DTO, не более.Вообще-то Domain Model Object и DTO не одно и тоже.
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085906
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawskyANADomain Model

их просто там нетГде там? В Вашей программе?
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085907
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAkmawпропущено...


ну, это если сильно концептуально. так-то Entity - это материал для ОРМКонцептуально ORM решает задачу преобразования объекта реального мира в форму, пригодную для сохранения в реляционной базе данных.

ORM решает более земную задачу - Entity <-> БД
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085908
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawskyANAпропущено...
Концептуально ORM решает задачу преобразования объекта реального мира в форму, пригодную для сохранения в реляционной базе данных.

ORM решает более земную задачу - Entity <-> БДДайте определение Entity.
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085909
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAkmawпропущено...


при использовании IDataReader - это все DTO, не более.Вообще-то Domain Model Object и DTO не одно и тоже .

а я разве обратное утверждаю?
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085910
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAkmawпропущено...


ORM решает более земную задачу - Entity <-> БДДайте определение Entity.

ок. это отображенная в ООП-класс таблица БД
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085911
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAУказанный выше контракт и не предполагает никакой навигации. Да и какая в общем случае от неё польза? :)

Удобно для корня агрегации, иначе придётся собирать агрегат по кусочкам.
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085912
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawskyANAпропущено...
Дайте определение Entity.

ок. это отображенная в ООП-класс таблица БДХорошо.
Пример: есть класс Person , что содержит следующий список полей: имя, список адресов и список телефонов.

Как его отобразить в одну таблицу БД?
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085913
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawгде тут я мочу бизнес-логику?

вот:

kmaw
Код: c#
1.
Mock.Of<IUserRepository>(d => d.GetById(userId) == new UserDTO() { }),



репозиторий должен хранить Entity юзера (.NET представление его аналога в хранилище, т.е. по сути табличный кортеж), а UserDTO это некий срез данных, нужный сервису, UserDTO полностью абстрагируется от того, как данные лежат в хранилище, в UserDTO могут быть намапленные данные из других таблиц, например, адрес, лежащий в отдельной таблице технически, т.е. это уровень выше репы.
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085915
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAУказанный выше контракт и не предполагает никакой навигации. Да и какая в общем случае от неё польза? :)

Удобно для корня агрегации, иначе придётся собирать агрегат по кусочкам.Не понял, почему по кусочкам?
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085918
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVosttпропущено...


Удобно для корня агрегации, иначе придётся собирать агрегат по кусочкам.Не понял, почему по кусочкам?

Из твоего примера выше:

Person.Adresses

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

UserLoginDTO
UserProfileDTO
UserActivityDTO

и т.д. в хранилище это как-то лежит в разных таблицах, корень аггрегации -- User, одна сущность, а DTO -- много, в зависимости от задач. нафига на каждый чих тащить всё в одном DTO, мне не понятно.
...
Рейтинг: 0 / 0
Архитектура приложения, надо ли дублировать сущности под каждый слой
    #39085926
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttkmawгде тут я мочу бизнес-логику?

вот:

kmaw
Код: c#
1.
Mock.Of<IUserRepository>(d => d.GetById(userId) == new UserDTO() { }),




репозиторий должен хранить Entity юзера (.NET представление его аналога в хранилище, т.е. по сути табличный кортеж), а UserDTO это некий срез данных, нужный сервису, UserDTO п олностью абстрагируется от того, как данные лежат в хранилище , в UserDTO могут быть намапленные данные из других таблиц , например, адрес, лежащий в отдельной таблице технически, т.е. это уровень выше репы.

естественно. просто тот репо который ты предлагаешь, это обертка над linq. у меня это полное скрытие
...
Рейтинг: 0 / 0
25 сообщений из 295, страница 3 из 12
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Архитектура приложения, надо ли дублировать сущности под каждый слой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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