@oop_ru

Страница 536 из 785
andretshurotshka?❄️кде
01.03.2018
05:51:45
Поясните за DDD

Alex
01.03.2018
06:26:41
сынок, это фантастика

Ilia
01.03.2018
06:29:32
Это который Data driven? Никакая не фантастика

Bohdan
01.03.2018
06:35:52
мимо

Google
Tony
01.03.2018
07:01:59
Evgenij
01.03.2018
07:49:51
Что несут в себе или должны нести Domain services ?

Bohdan
01.03.2018
08:00:28
та, которая не лезет в domain model

Evgenij
01.03.2018
08:03:05
та, которая не лезет в domain model
по какой причине она не может залезть в model ?

Артур Евгеньевич
01.03.2018
08:03:16
Эт какая то херовая картинка

Bohdan
01.03.2018
08:04:03
не совсем правильно выразился скорее, которая делегирует задачи самим моделям и координирует их но тут все довольно зыбко

Tony
01.03.2018
08:05:38
Bohdan
01.03.2018
08:06:16
Трындец. А оно в итоге полезное то хоть что-то делает?
ну зависит от того, как спроектируешь в этом весь прикол ddd - сложно говорить о конкретной реализации, не зная нюансов домена

Артур Евгеньевич
01.03.2018
08:06:31


Можно конкретнее?
Вот оригинал

И на нём апликейшн под инфраструктурой

Google
Артур Евгеньевич
01.03.2018
08:07:29
А то что выше эту я вообще видел только в докладе про ddd в yii)

Roman
01.03.2018
08:09:36
Трындец. А оно в итоге полезное то хоть что-то делает?
Надо создать юзера. Чтобы его создать - надо знать имя и пароль. Но пароль я же не буду в открытом виде в сущность писать. Надо же захэшировать и посолить. То есть надо задействовать какой-то сервис, отвечающий за хэширование. Но ты же не будешь его в конструктор модели передавать. Поэтому делаешь отдельный сервис, который знает про то, что перед созданием юзера, надо захэшировать его пароль. Ну то бишь он занимается хешированием (вызов отдельной инфраструктурной штуки) и конструированием сущности. Хотя возможно пример говно))

Андрей
01.03.2018
08:10:17
Перевод оригинальной статьи тут: https://habrahabr.ru/post/233747/

Tony
01.03.2018
08:11:57
А то что выше эту я вообще видел только в докладе про ddd в yii)
Это оттуда и взято. Она скорее про слои в приложении, а твоя более абстрактная - для понимания, что такое теория DDD в принципе.

Arthur
01.03.2018
08:20:25
профит есть вообще от DDD? или все равно со временем размазывается вся бизнес логика?

Bohdan
01.03.2018
08:21:00
ddd это не [только] про код ведь

Arthur
01.03.2018
08:21:31
Roman
01.03.2018
08:25:32
профит есть вообще от DDD? или все равно со временем размазывается вся бизнес логика?
Есть. Не размазывается. Но если с DDD не работал и начинаешь делать Ъ, то количество бизнес-правил в модели становится таким, что офигеваешь)

Bohdan
01.03.2018
09:05:08
А если у меня просто функции?
мы толератно относимся к функциональным, не переживай

Sergey
01.03.2018
09:05:17
это не про ddd

Roman
01.03.2018
09:05:17
А если у меня просто функции?
Ну живут они тогда в домене

andretshurotshka?❄️кде
01.03.2018
09:05:31
Что значит в домене?

Bohdan
01.03.2018
09:05:42
а если без троллинга - расскажи, как это организовано у вас мне как человеку с ООП головного мозга интересно

Sergey
01.03.2018
09:06:00
Ну живут они тогда в домене
"просто функции" лежат "просто в модулях". А далье уже какие-то из модулей представляют domain layer

Bohdan
01.03.2018
09:06:13
как написать большое приложение (абстрактную црмку) в функциональном подходе

Sergey
01.03.2018
09:06:27
у тебя ж не только функции в модуле, но и типы с которыми эти функции работают

Google
andretshurotshka?❄️кде
01.03.2018
09:06:51
Bohdan
01.03.2018
09:07:14
ну если всякие рамды юзаешь, то эфпэшником считаться можешь

andretshurotshka?❄️кде
01.03.2018
09:07:24
ну ок)

Roman
01.03.2018
09:08:06
у тебя ж не только функции в модуле, но и типы с которыми эти функции работают
Ну у меня С#. Функции являются методами агрегатов и сами по себе нигде не болтаются.

Sergey
01.03.2018
09:08:40
человек спросил как быть если у него модули это не классы а... модули)

а ты начал про c# и что "ложи в домен"

Sergey
01.03.2018
09:09:42
ай, короч пока возникают вопросы "куда код ложить" рано в DDD

Bohdan
01.03.2018
09:09:46
Монадок навернуть
у меня ООП головного мозга, я про монады читал, но ничего не запомнил)

Sergey
01.03.2018
09:09:50
потому что в DDD этих вопросов в разы больше

Sergey
01.03.2018
09:10:41
у меня ООП головного мозга, я про монады читал, но ничего не запомнил)
из моего примитивного понимания - монада это про чейнинг. Пример монады - промисы например. Вся суть в чейнинге.

Bohdan
01.03.2018
09:10:43
вот реально, вернон хоть и читается непросто, но глаза открывает

и буду чейнить по самые помидоры

но это такое, в порядке бреда в это нужно серьезно вникнуть

Sergey
01.03.2018
09:11:37
ну это чуть более конкретно... посмотри как реализуется Maybe монада)

Tony
01.03.2018
09:11:40
это не про ddd
А про что же?)

Bohdan
01.03.2018
09:11:57
луковая архитектура - это не ддд

Google
Sergey
01.03.2018
09:12:24
А про что же?)
про контексты, про общий (или единый) язык, про то что бы ты все решения относящиеся к логике принимал на основе бизнеса а не технических штук.

про то что хорошая система не должна ограничивать бизнес

Bohdan
01.03.2018
09:13:06
ты чуть напутал) ддд - про то, что ты написал

а картинка - не про ддд, а просто про архитектуру

Tony
01.03.2018
09:13:22
Разве ddd в слоистом представлении кода не будет выглядеть похожим образом?

Bohdan
01.03.2018
09:13:35
может выглядеть, может не выглядеть

Sergey
01.03.2018
09:13:36
оно требует разделения ответственности

Admin
ERROR: S client not available

Tony
01.03.2018
09:14:25
да но ddd не требует "слоистого" представления кода
Ну разумеется ddd это теория, а не конкретное представление

Sergey
01.03.2018
09:14:28
ты можешь этого добиться и не только за счет слоев. Более того, хоть и подразумевается что модель "должна быть чистой" в реальности абсолютно чистой ты ее не можешь сделать

Ну разумеется ddd это теория, а не конкретное представление
ну твоя картинка это тоже теория и причем в неумелых руках ты получишь лазанью

Bohdan
01.03.2018
09:14:50
чистой - без примесей инфраструктурных штук?

Sergey
01.03.2018
09:14:56
ну не только инфраструктурной, те же пересечения контекстов, что там у Эванса в главах про дисциляцию

Bohdan
01.03.2018
09:15:33
со слоями оно чуть проще воспринимается в общем и целом нужно меньше вкуривать в бизнес

типа тут у нас контроллер, тут репо и так далее

Sergey
01.03.2018
09:15:47
для слоев лучше покурить гексагоналку

Bohdan
01.03.2018
09:16:01
гекса тоже не везде нужна

Sergey
01.03.2018
09:16:02
там их в простом варианте 2

Google
Bohdan
01.03.2018
09:16:11
она ведь вроде под soa больше, нет?

Sergey
01.03.2018
09:16:14
"приложение" и "наружка"

оно про грамотное использование инверсии зависимостей, про снижение связанности

Bohdan
01.03.2018
09:16:41
ну в принципе да тут название подвело, "порты и адаптеры" звучит здесь лучше

Sergey
01.03.2018
09:16:57
ну в принципе да тут название подвело, "порты и адаптеры" звучит здесь лучше
ну порты и адаптеры это последняя версия названия)

Bohdan
01.03.2018
09:17:11
1 штука "портов и адаптеров" тоже к нему относится)

Sergey
01.03.2018
09:17:24
гексагоналкой ее называл Кокберн потому что на бумажке когда схемки рисовал ему нравилось все гексагонами изображать)

Bohdan
01.03.2018
09:17:35
я помню, я читал ту статейку

красиво рисовалось, ну и назвал)

Sergey
01.03.2018
09:17:45
ну и норм)

профит есть вообще от DDD? или все равно со временем размазывается вся бизнес логика?
если у тебя нет заинтересованных лиц, если никто не заинтересован в развитии бизнеса, ну и в целом если проект развития не подразумевает (single event app какой) то DDD профита не дает. Профит от DDD особенно хорошо проявляется на больших проектах, когда нет одного человека который знает все бизнес процессы необходимые.

так сказать что бы устранить стоимость перевода требований с языка бизнеса на технический язык

Sergey
01.03.2018
09:24:52
именно

(ну и "хорошие навыки БА" это просто здравый смысл и умение в приоритизацию)

Bohdan
01.03.2018
09:25:14
по поводу "когда брать ДДД" - Вернон, 29 страница

там табличка об этом)

Arthur
01.03.2018
09:25:40
как называется книга Вернона? )

Мне уже @fes0r советовал Эванса

Страница 536 из 785