@oop_ru

Страница 371 из 785
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
ладно, уговорил) пойду дальше кофе пить)

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

Aleh
04.11.2017
18:06:58
Кстати, а как Magento обходится без Smarty шаблонов?
Вопросы по пыхе в чатик по пыхе плиз

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: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
это не искусство, это простое разделение ответственности и переработка знаний
Ты видел корпоративное приложение с заимплементенным DDD несколько лет?

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

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

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

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

Дарья
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 нужно соблюсти условия определенные. Это не значит что ты мега умный если у тебя DDD выходит.

ну и опять же, DDD это просто "трэйд марк"

это как SOLID

"ты видел людей которые соблюдают принципы SOLID?"

наверное для них надо быть таким же умным как Дядя Боб

Pavel
05.11.2017
15:13:41
что бы вышло DDD нужно соблюсти условия определенные. Это не значит что ты мега умный если у тебя DDD выходит.
Эт твоё мнения, я сравниваю с собой потому считаю таких чуваков мегаумными

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-х разработки ПО как таковой не было , а было программирование на уровне "рассчитать формулы по запуску ракет для Самаровского НИИ им. Ленина"?

И, соответственно, такие вопросы вообще не ставились?

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
с США
У тебя есть репрезентативная выборка?)

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