|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
Denis.мне думается термин дто вообще надо выкинуть из топика. Дто это вообще не про логику, не про модель, не про репозитории. Там другие названия есть. Не надо выкидывать. DTO прекрасно работает с анемичной моделью, т.е. у нас есть дата-сервисы, и мы взаимодействуем с ними с помощью DTO. Например CRUD-сервисы можно сделать базовыми и они будут работать сразу для всех существующих таблиц в БД. А затем запиливать дополнительную логику в сервисах. Это стандартный путь для большинства энтерпрайзов. Вот только DDD здесь не пахнет, а это другая архитектура и гораздо меньше подходит для CRUD-базед систем. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:38 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
skyANAhVosttпропущено... Потому что в угоду NH, ему нужно, чтобы он работал. А это всего лишь поле с данными, EF прекрасно работает без virtual, а в NH намудили (потому что NH -- УГ), вот и страдайте. Зло - понятие нравственности, противоположное понятию добра, означает намеренное, умышленное, сознательное причинение кому-либо вреда, ущерба, страданий. Таки в чём зло? :) хвост ненавидит хибернейт. а ненависть - это зло ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:40 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
skyANA Зло - понятие нравственности, противоположное понятию добра, означает намеренное, умышленное, сознательное причинение кому-либо вреда, ущерба, страданий. Таки в чём зло? :) Эти классы -- не POCO. Какие ещё аргументы нужны? Для virtual полей допустимо иметь в классе 2 значения: заданное, и прокси-значение. Это не просто зло, это ахтунг полнейший. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:42 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
kmawskyANAпропущено... Зло - понятие нравственности, противоположное понятию добра, означает намеренное, умышленное, сознательное причинение кому-либо вреда, ущерба, страданий. Таки в чём зло? :) хвост ненавидит хибернейт. а ненависть - это злоТы это от ответа не увиливай: 18323802 :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:43 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
kmawхвост ненавидит хибернейт. а ненависть - это зло Я не ненавижу, я его презираю. Он своё отжил. Да, было время, когда EF был кособокий и кривой. Но щас пора брать лопату и закапывать NH глубоко. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:43 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
hVosttskyANA Зло - понятие нравственности, противоположное понятию добра, означает намеренное, умышленное, сознательное причинение кому-либо вреда, ущерба, страданий. Таки в чём зло? :) Эти классы -- не POCO. Какие ещё аргументы нужны?Как какие? Доказывающие то, что это причиняет кому-либо вред, ущерб, страдания :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:44 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
hVosttkmawхвост ненавидит хибернейт. а ненависть - это зло Я не ненавижу, я его презираю. Он своё отжил. Да, было время, когда EF был кособокий и кривой. Но щас пора брать лопату и закапывать NH глубоко.Да, пора переходить на Dapper и микросервисы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:45 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
skyANAЕщё нужно выяснить у камрада kmaw почему объект класса User не может существовать без реляционной БД и ORM. И почему не может в таком виде как есть храниться в MongoDB :) так я от ответа и не увиливаю. это опять DTO. еще раз: нет ОРМ - нет Entity ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:45 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
hVostt, DTO - УГ, потому, что нет однозначной Логики отображения ДТО на Модель В ВИПРОС есть Частичное представление Макротипа с четкой логикой отображения ВИПРОС может автоматически сгенерировать всевозможные Частичные представления макротипа (но лучше все ж создать по отдельности, так как всевозможных генерируется дофига :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:45 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
skyANAКак какие? Доказывающие то, что это причиняет кому-либо вред, ущерб, страдания :) Хм. А если бы NH требовал, чтобы любые примитивные значения можно было определять только через специальные обёртки? Код: c# 1. 2. 3. 4. 5. 6.
норм? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:46 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
kmawнет ОРМ - нет Entity Не верный ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:46 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
hVostt, ты лучше дальше понятия Проекция (если я правильно тебя понимаю, то это ВИПРОСовские частичные представления) не отходи остальная мишура - технические костыли ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:47 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
skyANAДа, пора переходить на Dapper и микросервисы :) Совсем? EF 7 смотрел? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:47 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
ViPRosDTO - УГ, потому, что нет однозначной Логики отображения ДТО на Модель Есть. Это конфигурация проекции. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:48 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
kmaw, надо сначала определиться - что такое ентити и нафига ему ОРМ какой то ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:48 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
hVostt, по моему пониманию дто работает прекрасно с любой моделью в любом виде. Так как это по сути просто контракт сервиса "в последней инстанции". Данные обрабатываются логикой в любом виде и экспозятся через сервисы куда угодно. Но то что "с той стороны" сервисов - уже не релевантно по сути к вопросу доступа к данным и их обработке. А, как я понимаю, именно это тут и обсуждается в первую очередь. То есть я считаю что дто это передача данных во внешнюю подсистему\систему. Даже если она живет в том же процессе, если мы сказали дто, значит данные пошли в другой домен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:48 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
ViPRoshVostt, ты лучше дальше понятия Проекция (если я правильно тебя понимаю, то это ВИПРОСовские частичные представления) не отходи остальная мишура - технические костыли Частичное представление это уже слой презентации, он кстати вполне может быть завязан на DTO (минуя дополнительные классы, типа вью-моделей, что хорошо для SPA). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:49 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
ViPRosчто такое ентити Ентити определяется идентификатором (Id, Uid, Guid...). Два объекта с одинаковым идентификатором считаются равными, без сравнения их содержимого. Это Entity. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:50 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
hVosttViPRosDTO - УГ, потому, что нет однозначной Логики отображения ДТО на Модель Есть. Это конфигурация проекции. покажи пример (Проекция - это метаданные, подмножество метаданных макротипа. Не всегда возможно Проекция, так как Проекция накладывает доп ограничения на целостность макротипа - нужны значения по умолчанию как минимум, если например, Проекция редактируема и т.д.) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:51 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
Denis.А, как я понимаю, именно это тут и обсуждается в первую очередь это Вам и мне понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:52 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
hVostt, значит ентити ваш - Объект с лайфтаймом (коллекция) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:52 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
hVosttViPRoshVostt, ты лучше дальше понятия Проекция (если я правильно тебя понимаю, то это ВИПРОСовские частичные представления) не отходи остальная мишура - технические костыли Частичное представление это уже слой презентации, он кстати вполне может быть завязан на DTO (минуя дополнительные классы, типа вью-моделей, что хорошо для SPA). это про проекции был вопрос, при чем тут слой презентации ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:53 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
hVosttViPRoshVostt, ты лучше дальше понятия Проекция (если я правильно тебя понимаю, то это ВИПРОСовские частичные представления) не отходи остальная мишура - технические костыли Частичное представление это уже слой презентации, он кстати вполне может быть завязан на DTO (минуя дополнительные классы, типа вью-моделей, что хорошо для SPA). Частичное представление - это Точка зрение на Модель определенной Роли (Актора) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:54 |
|
Архитектура приложения, надо ли дублировать сущности под каждый слой
|
|||
---|---|---|---|
#18+
"нет ОРМ - нет Entity" =нет объектно реляционного мапера - нет энтити если мы натравливаем ef не на базу, а на xml файл, не меняя код, просто меняя источник данных, энтити исчезают? Таким образом невозможно знать есть энтити или нет, не видя connectionstring, так выходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2015, 19:54 |
|
|
start [/forum/topic.php?fid=20&msg=39086031&tid=1401094]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 316ms |
total: | 454ms |
0 / 0 |