Ayrat
https://youtu.be/_Rq8t3K_YsA
Roman
Ayrat
сам не смотрел
Ayrat
просто вбросил
Roman
чертяга
Ayrat
ну вот щас мне делать нечего, посмотрю
Roman
флинк будем портировать?)
Anonymous
Bounded contexts. Суть в том, что сущности из реальной жизни слишком многогранны и сложны, чтобы их отразить в коде вменяемым образом. Идея разграничения контекстов заключается в том, чтобы разбить твое большое приложение на логические модули. В каждом модуле у тебя, например, будет существовать юзер. Только в модуле настроек приватности у него будет один набор свойств (настройки того, кто ему может писать, смотреть страницу и тд), а в модуле переписки совсем другой (собеседники, список диалогов, сообщений и тд).
Так вот твои сущности (юзер в данном примере) дробятся на проекции по одной на каждый такой контекст.
Далее, по поводу общения через контракты:
Внутри таких контекстов у тебя есть всякая мудреная логика, проверка бизнес правил и прочего говна. Так вот, чтобы это случайным образом не нарушить и не обойти, один контекст (например, месседжинг) при обращении к другому (например, приватность) должен общаться через самый верхний слой того контекста, т.е. контракт. В противном случае будет дублирование логики внутри разных контекстах и баги, как неизбежное следствие.
я че-то про верхний слой нихуя не понял. можно как для аутиста, на пальцах пожалуйста?
Ayrat
у флинка там ебанутое колво кода
Roman
Ayrat
и порт надо на самом деле на сишарпе писать
Ayrat
потому что ты не хочешь переделывать архитектуру или код порта чтобы потом бекпортить изменения
Ayrat
Ayrat
мне кажется что плясать свагер ОТ кода не получится
Ayrat
т.к. в жирафе всё через жопу и функция на функции функцицей погоняет
Ayrat
ну то есть это норма
Ayrat
но нет контроллеров с методами
Roman
Ayrat
мне кажется контракт ферст лучше подходит жирафу
Ayrat
код генерить на фшарпе-то непросто!!1
Roman
ну для именно кодгена там есть Myriad
Roman
но я б сначала описал дсл
Ayrat
можно взять как у сатурна
Ayrat
то есть банально взять дсл сатурна
Roman
о, надо посмотреть. Я его вообще не трогал
Ayrat
в сатурне всё разбито на контроллеры, внутри ты описываешь желаемые методы. По АСТ билдера можно прям пройтись и собрать всё разом
Ayrat
в свагер
Ayrat
https://github.com/SaturnFramework/Saturn/blob/master/sample/Controller.Sample/Controller.Sample.fs
Roman
да, можно попробовать. Но потом все равно в жирафа же?
Ayrat
сатурн на жирафе работает
Ayrat
просто сам жираф из-за его хаотичности тяжело собрать в свагер
Ayrat
хотя мне кажется возможно.
Ayrat
в асп нет же дерево роутов сохраняется. И женерики в рантайме известны
Ayrat
другое дело что оттуда HTTP VERB взять вроде как нельзя
Ayrat
потому что они в рантайме по роутам могут отвалиться
Ayrat
вообще ни о чём
Ayrat
весь доклад - 10минут, я не шучу
Ayrat
он просто говорит - ДДД не работает, потому что нельзя отделить баундед контексты друг от друга, я подготовил короткий доклад, ожидаю большое кол-во вопросов
Igor
Ayrat
Ayrat
я вопросы не смотрел
Ayrat
я не понимаю как можно прийти на митап с аргументацией такого уровня
Shub
Ayrat
то есть он показал один слайд и сказал, почти дословно - это не работает. Вопросы?
Shub
да. типикал митап
Ayrat
я не фанат ДДД, но надо было блять хоть какие-то аргументы привести
Shub
митап - это такое средство зарабатывания социального капитала сегодня.
Ayrat
Эт понятно.
Ivan
аргументацией нельзя доказать несуществование чего-либо. доказывать надо возможность ДДД.
Ayrat
Ayrat
как по этому построить что-то сложнее фантазий автора категорически неясно
Shub
был в гостях на выходных, там была девочка "фронтендер" с 0 годами опыта. подозреваю, что с буткемпа, т.к. банально не могла поддержать никакой предметный разговор. очень гордилась своим статусом "фаундер фронтенд-митапа в Вест Орандж"
Shub
хуевая книга, много воды
они все такие. точнее, там есть еще класс книг "я вам щас убедительно объясню. что НА САМОМ ДЕЛЕ имел ввиду Эванс"
Shub
поэтому ДДДшники - это церковь конца 19 века
Doge
Shub
Shub
вот уровень аргументации адепта, например
Shub
30% предложений - восклицательные
Doge
Это точно не цепями Маркова сгенерированно?
Doge
0 информации в целях трёх абзацах
Vladislav
Ayrat
А я вам говорил про тренинг? Нам короче компания решила устроить JVM тренинг, т.к. мы все резко с F# на Scala пересели.
Ну и вот проводили значит обсуджение что на тренинге рассказывать.
Консультант говорит, давайте короче про тайп классы, про зио, про эффекты, про ФП
Мы говорим, мы знаем всё про ФП, всё это нахуй не надо, давай лучше про рантайм, флаги жвм, тюнинг, профайлинг, билд системы, бест практис
Консультант - ок, мы подготовим для вас программу
(прошёл месяц)
Консультант - вы знаете, мы не можем вам предложить ничего кроме эффектов, зио и тайп классов. Брать будете?
Мы - нахуй идите, ебаные сектанты
Ayrat
хотя что можно ожидать от компании консультантов
Ayrat
подозреваю там собрались отборные сливки которые не смогли в продакшн
Doge
А я вам говорил про тренинг? Нам короче компания решила устроить JVM тренинг, т.к. мы все резко с F# на Scala пересели.
Ну и вот проводили значит обсуджение что на тренинге рассказывать.
Консультант говорит, давайте короче про тайп классы, про зио, про эффекты, про ФП
Мы говорим, мы знаем всё про ФП, всё это нахуй не надо, давай лучше про рантайм, флаги жвм, тюнинг, профайлинг, билд системы, бест практис
Консультант - ок, мы подготовим для вас программу
(прошёл месяц)
Консультант - вы знаете, мы не можем вам предложить ничего кроме эффектов, зио и тайп классов. Брать будете?
Мы - нахуй идите, ебаные сектанты
Да ладно, про зио можно и прослушать.
А ещё лучше тупо почитать исходники, там как раз много всего интересного вокруг работы с jvm рантаймом
Ayrat
Ayrat
а вот ремоут дебагинг я б послушал. До сих пор не в курсе как в жабке память анализить. Ну вот дотМемори есть в дотнетиках
Ayrat
а в жабке там чо, реально всё через консольку?
Doge