|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
Petro123Тогда приводи примеры что за волшебные слова "контракт" мы посылаем со списком городов ИндексПочты Имя пришлём вам список городов в формате CSV, с колонками ИндексПочты, Имя — контракт! Petro123угу. Осталось выяснить какой толщины должен быть список городов чтобы обозвать его не DTO а бизнес объек и чем характеризуется по-твоему «бизнес-объект»? что это вообще за зверюга такая? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2017, 15:43 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
hVosttпришлём вам список городов в формате CSV, с колонками ИндексПочты, Имя — контракт! тогда и спорить не о чём. Если это про это) автор Если этот вид Dictionary, а точнее IReadOnlyDictionary или ImmutableDictionary hVosttPetro123угу. Осталось выяснить какой толщины должен быть список городов чтобы обозвать его не DTO а бизнес объек и чем характеризуется по-твоему «бизнес-объект»? что это вообще за зверюга такая? 21023416 Получается у нас консенсус)) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2017, 16:17 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
Petro123ArpanxDBContext -> Service -> (тут на выходе композитные типы ) -> WebApi Comtoller/REST Есть мнение, что если у вас современная модель БД с грамотной денормализацией, то можно сразу сущности БД в виде классов выставлять в REST.И где в этой современной модели бизнес-логика? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 09:31 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
И правильно ли я понял, что грамотная денормализация - это когда выставляются в REST именно денормализованные сущности БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 09:36 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
skyANA, Известно, что при rest на клиенте, напр. ангуляре. ... Сущность в ОРМ это таблица. А таблица лучше денормализована по стандартам бд проектирования. Цепочка правил. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 11:33 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
skyANA, Боюсь что денормализованная сущность это оксюморон) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 11:36 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
Petro123, спасибо, то есть я правильно понял, что Вы какую-то фигню предлагаете :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 11:45 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
Petro123денормализована по стандартам бд проектирования Нормализация по стандартам - это понятно: приведение к нормальным формам, коих шесть. А что такое денормализация по стандартам? Примеры стандартов у Вас есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 11:49 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
skyANAИ где в этой современной модели бизнес-логика? Я бизнес логику я не собирался тащить на клиента. Пусть там и остается на слое сервисов сервера. Но это бизнес-логика. А логику доменного уровня, да тогда поручить клиенту, пусть клиент сам этим занимается, не дергая сервер. Но это конечно так хотелось бы, в реальных условиях еще не проверял. Ну если использовать REST по его назначению, как трансферт состояний. Есть доменный тип "корзина покупателя со списком товаров в корзине" Есть доменый тип "товар № + данные для навигации по этому списку" Вариант1) Клиент отправляет команды серверу добавить в корзину/удалить/посчитать коммисию. В ответ получает новое состояние корзины. Такой вариант мне нравиться, логика на клиенте минимальная. Единственное что трафик будет, и самое неприятное для пользователя это задержки в работе интрфейса. Вариант2) Доверить клиенту самому вставлять, удалять товары в корзину, а на сервер присылать уже готовую корзину/order со списком товаров. Вот тут пусть и начинается бизнес-логика. Хотя что делать когда нужно посчитать комиссию и скидки в корзине, не понятно это можно считать еще доменной логикой, или это уже бизнес логика. И если каждый раз чтобы пересчитать комиссию отправлять корзину на сервер, это выражается в вариант №1. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 14:42 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
ArpanxskyANAИ где в этой современной модели бизнес-логика? Я бизнес логику я не собирался тащить на клиента. Пусть там и остается на слое сервисов сервера. Но это бизнес-логика. А логику доменного уровня, да тогда поручить клиенту, пусть клиент сам этим занимается, не дергая сервер. Но это конечно так хотелось бы, в реальных условиях еще не проверял. Ну если использовать REST по его назначению, как трансферт состояний. Есть доменный тип "корзина покупателя со списком товаров в корзине" Есть доменый тип "товар № + данные для навигации по этому списку" Вариант1) Клиент отправляет команды серверу добавить в корзину/удалить/посчитать коммисию. В ответ получает новое состояние корзины. Такой вариант мне нравиться, логика на клиенте минимальная. Единственное что трафик будет, и самое неприятное для пользователя это задержки в работе интрфейса. Вариант2) Доверить клиенту самому вставлять, удалять товары в корзину, а на сервер присылать уже готовую корзину/order со списком товаров. Вот тут пусть и начинается бизнес-логика. Хотя что делать когда нужно посчитать комиссию и скидки в корзине, не понятно это можно считать еще доменной логикой, или это уже бизнес логика. И если каждый раз чтобы пересчитать комиссию отправлять корзину на сервер, это выражается в вариант №1.У нас реализован вариант №1. Но вот мой вопрос был адресован не Вам и Вы посути на него не ответили, а ушли в сторону :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 15:05 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
Arpanx, и может я что-то упустил, но что Вы включаете в понятие "логика доменного уровня"? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 15:07 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
skyANAPetro123, спасибо, то есть я правильно понял, что Вы какую-то фигню предлагаете :) пожалуйста. Я уже понял, что ты фигню спросил. Денормализация есть у БД. А у сущностей нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 16:07 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
skyANAкоих шесть зачем нам углубляться. Это оффтоп. И ты любишь свернуть туда где светлее. В полемику. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 16:09 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
Arpanxи самое неприятное для пользователя это задержки в работе интрфейса. конкретнее. 0,1сек задержки? Не задержками определяется где манипулировать корзиной - в JS или в C#. Главное чтобы безопасность по цифрам деньгам была в корзине. Интерфейс не тормозит в обоих случаях. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 16:16 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
ArpanxХотя что делать когда нужно посчитать комиссию и скидки в корзине, не понятно это можно считать еще доменной логикой, или это уже бизнес логика. И если каждый раз чтобы пересчитать комиссию отправлять корзину на сервер, это выражается в вариант №1. Мы в ветке шарп или JS? Комиссию, скидки и что угодно оба профи программиста сделают хоть на сервере, хоть на клиенте. Локальная сеть: web-браузер или десктоп (1...120,121,122,123) 20532804 А так, сама корзина всегда на сервере хранится в сессии клиента. Т.к. сам рест не имеет состояния. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 16:22 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
skyANAPetro123пропущено... Есть мнение, что если у вас современная модель БД с грамотной денормализацией, то можно сразу сущности БД в виде классов выставлять в REST.И где в этой современной модели бизнес-логика? Да. Я посыпаю голову пеплом и говорю что описАлся и добавил НЕ к слову нормализация. Если ты это сразу не понял, то тебе тоже минус. (шутка). Надеюсь теперь тебе всё понятно? Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 16:36 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
skyANA, Ну я определяю для себя как логика которая оперирует только внутренними данными доменного типа и вычисляет внутренне состояние. Валидация внутреннего состояния и выставления внутренних переменых/флагов. Например если в корзине срок доставке меньше чем 48 часов, то домен выставляет флаг послать СМС, если больше 48, выставляем флаг послать е-маil. А бизнес-логика когда обрабатывает заказы, уже не лезет во внутренности домена и не пересчитывает внутренее состояние. Все равно получается размазывания логики между сервером и клиентом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 16:57 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
ArpanxА бизнес-логика когда обрабатывает заказы, уже не лезет во внутренности домена и не пересчитывает внутренее состояние. Она не может "не лезть". Кто ей запретит или программисту, если в сервисном слое все ссылки и объекты БЛ доступны? Там нет ссылок только на голые сущности а ля таблички в БД (слой хранения). ArpanxВсе равно получается размазывания логики между сервером и клиентом. Смотря что клиент). Если клиент тонкий браузер, то никак ничего не размазать. Если REST+ангуляр, то контроллёр в JS. Контроллеры AngularJS https://metanit.com/web/angular/2.1.php ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 17:19 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
Petro123А у сущностей нету. Серьёзно? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 20:06 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
hVosttPetro123А у сущностей нету. Серьёзно? Мне не веришь, Википедию открой. Нормализация возникает в реляционной модели. Можно конечно спорить, что первично, курица или яйцо))) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 20:26 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
hVostt, Наверно, как всегда, MS свистнул это понятие и растиражировал у себя в документации. Ведь он один за всех и во всех лицах. БД, ОРМ, VS, BL,, SERVICE, SERIALIZE ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 20:35 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
Petro123skyANAPetro123, спасибо, то есть я правильно понял, что Вы какую-то фигню предлагаете :) пожалуйста. Я уже понял, что ты фигню спросил. Денормализация есть у БД. А у сущностей нету.Я поинтересовался двумя вещами. 1. если "сразу сущности БД в виде классов выставлять в REST", то где же будет бизнес-логика? 2. что такое денормализация по стандартам? Примеры стандартов у Вас есть? Где же фигня в этих вопросах? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 20:40 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
Petro123Денормализация есть у БД. А у сущностей нету. Забавный Вы Сами выше написали про некие "сущности БД". Ваш термин. Таблица - это сущность БД? Да. Таблица может быть денормализованной? Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 20:46 |
|
repository & aggregate entity
|
|||
---|---|---|---|
#18+
skyANA1. если "сразу сущности БД в виде классов выставлять в REST", то где же будет бизнес-логика? - при REST БЛ на клиенте. На сервере только: http://www.товары.ru/товар/id/123 skyANA2. что такое денормализация по стандартам? Примеры стандартов у Вас есть? я же сказал. "де" было лишнее. Нормализация - в википедии ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 20:51 |
|
|
start [/forum/topic.php?fid=17&msg=39569171&tid=1349235]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 484ms |
0 / 0 |