
Sergey
04.11.2017
10:38:30
и все эти шины имеют место быть в асинхронной обработке данных в контексте распределенных систем. Ты много таких систем писал?)

Георгий
04.11.2017
10:42:48
Ни одной системы. Только я не совсем понимаю вот это:
все эти шины имеют место быть в асинхронной обработке данных в контексте распределенных систем
Все эти шины - это реализация CQRS. Сторонники CQRS утверждают, что команды не должны ничего возвращать. И потом приводят всем известные аргументы. Ну и я соглашаюсь с ними, потому что с практической точки зрения не сталкивался с проблемами из-за того, что команды ничего не возращают (если что - пилюкаю веб-приложения на ПХП). Приведи простенький пример, если не сложно. Может, я просто не соображаю.


Sergey
04.11.2017
10:51:29
> Все эти шины - это реализация CQRS.
Поправка, это один из вариантов реализации CQRS.
> Сторонники CQRS утверждают, что команды не должны ничего возвращать.
Это скорее про CQS, где все операции записи (методы) по хорошему должны быть void, но есть скажем pop у стэка. Он одновременно пишет и возвращает. Если тебе надо атомарно что-то такое сделать у тебя будут проблемы.
В CQRS команды не должны отвечать за "запросы". То есть это нормально когда команда возвращает скажем идентификатор созданной сущности, но не нормально когда команда возвращает результат какой-то выборки из базы.
codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/ - вот например мнение Грэга Янга на этот счет (а он типа главный апологет CQRS/ES).
> Приведи простенький пример, если не сложно.
любой кейс когда идентификатор извне команды нельзя получить, потому что формирование этого идентификатора требует какиз-то бизнес штук до которых ты не можешь добраться из-за шины.
конкретных кейсов не вспомню но они были

Google

Георгий
04.11.2017
10:58:40
Спасибо за подробный ответ. Буду учиться (впрочем, как всегда).

Maksim
04.11.2017
11:04:43
а мне идея наркоманских шин и басов больше понравилась :(

Sergey
04.11.2017
11:05:09

Maksim
04.11.2017
11:05:24
ну думать там как раз чуть больше надо)

Sergey
04.11.2017
11:05:48
мы сейчас про использование шины а не о ее имплементации

Maksim
04.11.2017
11:06:53
ладно, уговорил) пойду дальше кофе пить)

Sergey
04.11.2017
11:07:10

Aleh
04.11.2017
16:47:15

Enterpise
04.11.2017
17:58:27
Кстати, а как Magento обходится без Smarty шаблонов?

Aleh
04.11.2017
18:06:58

Enterpise
04.11.2017
18:41:03
https://t.me/prophp7

Pavel
05.11.2017
05:16:21
Чтобы DDD работал, нужно быть дохера умным человеком по типу самого Эрванса ибо даже он пробирался сквозь тернии достаточно долго. Экранировать реальную модель в бизнес логику это искусство.

Google

Sergei
05.11.2017
05:18:17

f4rt~
05.11.2017
05:18:52

Sergei
05.11.2017
05:19:59
Я и говорю - всем нужна технология (==надёжная повторяемость успешного результата), а искусство - это в общем "муза пришла - муза ушла".

Pavel
05.11.2017
06:02:29
А может я и не прав - достаточно просто быть дохера умным чуваком чтобы делать гибкое ПО в масштабах корпоративного приложения.
Хотя вообще то Эрванс не в одиночку мутил, а с коллегами.


Sergey
05.11.2017
08:04:55
ну то есть... "искусство" слишком размытое определение. Почти как "умный"
идея DDD в том, что бы уменьшить эффект "стоимости перевода" требований в код. Если у тебя код выражает предметную область достаточно четко, ты лучше понимаешь что делаешь и у тебя больше возможностей по коммуникации с бизнесом. Ты сможешь не просто сказать "но так не работает" а объяснить на языке понятному бизнесу почему. Очень хорошо показывает себя когда у тебя несколько стэкхолдеров которые не могут между собой договориться например)

f4rt~
05.11.2017
08:10:55
Скорей бы IRL посмотреть на DDD код нормальных людей :D

Aleh
05.11.2017
14:15:08

Pavel
05.11.2017
14:19:10

Sergey
05.11.2017
14:32:59
типа "идеально дицселировання модель и все всегда все делают правильно"? такого не видал, и Эванс думаю тоже)

Pavel
05.11.2017
15:07:02
Да, это к тому что это не простое разделение ответственности только, а постоянный контроль любого изменения, который по-любому критичен в перспективе для бизнеса. Потому мне видится создание подобной системы, как картина под кистью великого художника.

Sergey
05.11.2017
15:07:42

Pavel
05.11.2017
15:08:05
Покрайней мере таким я вижу DDD после прочтения книги

Sergey
05.11.2017
15:08:16

Дарья
05.11.2017
15:08:42
C
C

Google

F01134H
05.11.2017
15:09:00
Даша не шали

Sergey
05.11.2017
15:09:16
DDD это про единый язык, очень простая идея, что тебе надо штуки в коде и отношения объектов выстраивать в терминах бизнес логики а не пихать "SomethingManager"-ы повсюду
для этого тебе надо разбираться в бизнес логике
+ постоянный рефакторинг
делать идеально у тебя никогда не выйдет, но "приемлимо" - в целом можно. Далее вопрос плюсов и минусов
ну и реалии, скажем если ты напрямую со стэкхолдерами и экспертами в предметной области не взаимодействуешь - то сам понимаешь что делать DDD в таких условиях затруднительно

Pavel
05.11.2017
15:11:21
О чём мы? Я о том что это сложно, и если тебе просто то ты крутой чувак.

Sergey
05.11.2017
15:11:50
ну и опять же, DDD это просто "трэйд марк"
это как SOLID
"ты видел людей которые соблюдают принципы SOLID?"
наверное для них надо быть таким же умным как Дядя Боб

Pavel
05.11.2017
15:13:41

Sergey
05.11.2017
15:13:43
GRASP Лармана? Не, мы слишком тупые для этого. Рефакторинг Фаулера - надо быть фаулером что бы рефакторить на своих проектах
ты же понимаешь что это не так)
просто надо не с DDD начинать, а придти в DDD через что-то попроще. Сначала принципы проектирования и суть разделения отвественности, рефакторинг, тесты... потом можно уже в DDD
я когда первый раз Эванса читал по факту ничего не понял... ну тоесть года через два совсем по другому воспринималось

Aleh
05.11.2017
15:17:04
Ну он об этом сам явно пишет

Google

F01134H
05.11.2017
15:17:25
Фаулер братан

Aleh
05.11.2017
15:17:26
Понятно, чьо все на плечах гигантов смотрят далеко

Sergey
05.11.2017
15:17:36

Aleh
05.11.2017
15:17:51
А фаулер просто переписал в книжку

Pavel
05.11.2017
15:27:25

Sergey
05.11.2017
15:28:09
я слабо себе представляю разработчика который умеет в DDD но понятия не имеет что такое information hiding

Dmitriy
05.11.2017
17:27:55
По мне так проблема всей этой темы с DDD это то, что нет нормальных примеров приближенных к реальности, и выглядит это все как некое шаманство.

Maksim
05.11.2017
17:29:01
оно так одинаково во всём. за что не возьмись

Aleh
05.11.2017
17:30:19
ну да, нет ни толкового теоретического обоснования, ни толковых практических задач, ни инструментов, ни процесса обучения

Dmitriy
05.11.2017
17:30:41
И если развивать мысль далее, я думаю что все только зарождается, формируется, устаканивается в разработке. Мы сейчас в каменном веке.

Aleh
05.11.2017
17:30:49
поэтому последние 50 лет промышленной разработки каждая команда или даже каждый девелопер проходит снова и снова
кто-то остается в 60ых

Dmitriy
05.11.2017
17:32:56
Индустрия еще не сменила поколения. Сейчас немного дико слышать фразы типа "Программист пенсионер"

Aleh
05.11.2017
17:33:42
ну хз
ракетостроение сменило, а программисты не?
60 лет прошло

Dmitriy
05.11.2017
17:34:20
они электронщики
у меня дядьки компы собирал.. он не программист

Google

Nik
05.11.2017
17:40:28
Мне кажется, или в СНГ вплоть до конца 90-х разработки ПО как таковой не было , а было программирование на уровне "рассчитать формулы по запуску ракет для Самаровского НИИ им. Ленина"?
И, соответственно, такие вопросы вообще не ставились?

Sergey
05.11.2017
17:41:08

Nik
05.11.2017
17:41:08
Про подход к проектированию и т.д.

Dmitriy
05.11.2017
17:41:25
промышленный программинг был

Sergey
05.11.2017
17:42:16
а она глобальна

Dmitriy
05.11.2017
17:42:38
мы не слабо отстаем

Nik
05.11.2017
17:43:09
Тогда как в то время на западе, как минимум, точно была промышленная разработка для бизнеса. Банкинг уж точно, до сих пор емнип некоторые банки на ПО 40-летней давности висят

Sergey
05.11.2017
17:44:01

Dmitriy
05.11.2017
17:44:15
с США

Nik
05.11.2017
17:44:20
Мне кажется, что когда бизнес-логика ограничена моделированием физических процессов и числодробильней, о подходах к проектированию не слишком подталкивает думать

Sergey
05.11.2017
17:44:45
с США
У тебя есть репрезентативная выборка?)