В C# есть модификатор доступа internal, который закрывает свойство или метод для всего, кроме текущей сборки (сборка это по сути группа пространств имён). И это чертовски удобно для построения правильной архитектуры по DDD — ты делаешь домен отдельной сборкой без внешних зависимостей, у сущностей закрываешь сеттеры и другие поля модификатором internal, а бизнес-правила с открытыми методами уже пишешь в агрегатах, которые содержат эти сущности. Агрегаты объявлены в той же сборке, так что они могут с сущностями делать что угодно, но слой приложения уже сможет вызвать только метод агрегата.
Пример. Есть бизнес-процесс, который включает в себя две сущности: письмо и прикреплённый к нему документ. У каждой из этих сущностей разные жизненные циклы, но письмо можно отправить только в том случае, если статус документа "Согласован". Мы делаем агрегат "письмо с документом" и там public-метод отправки письма сначала проверяет статус документа, а потом вызывает internal-метод отправки в сущности письма. Снаружи (вне домена) вызвать сразу отправку письма невозможно.
Но как эту задачу решают разработчики на других языках? Я совершенно не понимаю, как сделать хорошую архитектуру без internal. Окей, в некоторых языках вообще нет вменяемого ОПП и системы типов, но и к таким ребятам я бы не подходил с вопросами об энтерпрайз-архитектуре. Однако, многие серьёзные проекты пишутся на Java или, скажем, Go, что делают разработчики там? Может, кто-нибудь знает, и расскажет мне в комментариях?
#dev
🔸Совместноерешение миграционного вопроса между Россией и странами Центральной Азии — одно из ключевых условий формирования большого евразийского партнерства.
Такое мнение в ходе видеомоста с подключением МПЦ @SputnikUzbekistan выразил руководитель программы "Новая роль постсоветских государств" Института международных исследований, доцент кафедры международных отношений и внешней политики России МГИМО МИД России Сергей Маркедонов.
#video
#VIDEO🔴 Iraníes se congregan en el Puente Al Abyad (Blanco) de Ahvaz, tras las amenazas de Trump de destruir puentes y centrales eléctricas.
⭕️ Reportes indican, que tanto hombres como mujeres, están acudiendo en masa a las centrales eléctricas y formando grupos humanos a su alrededor para protegerlas.
⭕️ El presidente iraní, Masoud Pezeshkian ha asegurado que "más de 14 millones de iraníes patriotas han declarado, hasta este momento, su voluntad de sacrificar sus vidas en defensa del país".
🔸Может быть, странам Глобального Юга стоит действительно самим становиться инициаторами организаций и институтов нового многополярного мира, в котором не будет глобального доминирования Запада, заявил директор Центра исследовательских инициатив Ma’no Бахтиёр Эргашев в МПЦ @SputnikUzbekistan.
"Нам нужно предлагать новые международные институты, которые будут работать в интересах большинства стран и народов, а не узкой группы государств", - подчеркнул эксперт.
#video
Ea nu poartă răspundere. Ea doar a semnat.
Începem cu un banc despre Frederick II care a vizitat o închisoare ca să găsească că toți deținuții erau nevinovați.
Apoi aflăm că Maia Sandu nu a făcut nimic strașnic, ea doar a semnat.
Ne întrebăm mai apoi ce înseamnă „doar a semnat”.
Ca să ne întrebăm dacă e mai bine să greșești decît să admiți că semnătura ta nu valorează nimic.
#video
Sursa
În calitate mai bună pe Rumble.
👩🏻🔬🔸В Ташкенте состоялись премьеры короткометражных фильмов "Путь ученой" и "Два пути, две судьбы".
Картины повествуют о жизненном пути женщин-ученых, посвятивших себя науке, а также о трудностях, с которыми они сталкивались на этом пути, передает корреспондент @SputnikUzbekistan.
Фильмы сняли в сотрудничестве с Академией наук Узбекистана.
#video
Bizni kuzatib boring👇
😎Telegram |🌐Websayt
😎Facebook |😎YouTube|😎Instagram