В C# есть модификатор доступа internal, который закрывает свойство или метод для всего, кроме текущей сборки (сборка это по сути группа пространств имён). И это чертовски удобно для построения правильной архитектуры по DDD — ты делаешь домен отдельной сборкой без внешних зависимостей, у сущностей закрываешь сеттеры и другие поля модификатором internal, а бизнес-правила с открытыми методами уже пишешь в агрегатах, которые содержат эти сущности. Агрегаты объявлены в той же сборке, так что они могут с сущностями делать что угодно, но слой приложения уже сможет вызвать только метод агрегата.
Пример. Есть бизнес-процесс, который включает в себя две сущности: письмо и прикреплённый к нему документ. У каждой из этих сущностей разные жизненные циклы, но письмо можно отправить только в том случае, если статус документа "Согласован". Мы делаем агрегат "письмо с документом" и там public-метод отправки письма сначала проверяет статус документа, а потом вызывает internal-метод отправки в сущности письма. Снаружи (вне домена) вызвать сразу отправку письма невозможно.
Но как эту задачу решают разработчики на других языках? Я совершенно не понимаю, как сделать хорошую архитектуру без internal. Окей, в некоторых языках вообще нет вменяемого ОПП и системы типов, но и к таким ребятам я бы не подходил с вопросами об энтерпрайз-архитектуре. Однако, многие серьёзные проекты пишутся на Java или, скажем, Go, что делают разработчики там? Может, кто-нибудь знает, и расскажет мне в комментариях?
#dev
#psd
Bugun mashhur CGI artist Dmitriy Glazirin'ning "Frozen world" nomli ishining PSD faylini kanalga joylayman.
Bu fayl orqali siz professionallar qanday "слой"lardan foydalanishini bilib olasiz.
@behzod_otajonov
#psd
Design battle uchun rasm tayyorlash oson bo‘lmayapti. Ideya topib, uni vizual tomondan chiroyli qilish ancha qiyin ish.
Lekin, ranglar garmoniyasi, kompozitsiya qoidalari bo‘yicha ko‘rgan darslarimni rosa foydasi tegyapti.
@behzod_otajonov
Loveridge:
Name: 35款2026马年新春红包封面设计模板合集 (AI+PSD双格式)
Size: 1.4GB
2026新年金马贺岁马年红包,融入祥云骏马、福字、中国结、金币等传统元素,适配品牌礼盒、商场赠品、广告礼包等使用场景。支持文字替换、Logo加印、色彩调整,包含AI、PSD双格式。
Link: 👉Press me and click START to get the hidden link
#新春红包#红包封面#2026马年新春红包封面#模板#素材#PSD#Quark#求转存
♾@gdsharing♾Telegram/电报/纸飞机的网页端:可能无法点击链接
🇷🇴#Romania - Si è dimesso il primo ministro #Ciolacu, del Partito Socialdemocratico, dopo il pessimo risultato del suo partito alle presidenziali. Il candidato del #PSD#Antonescu non andrà al ballottaggio, superato dal centrista #Dan e da #Simon, di estrema destra.
@UltimoraPolitics
#Portogallo#Palestina
Primo Ministro Luís #Montenegro (#PSD|EPP): “Il Governo ha deciso di consultare Sua Eccellenza il Presidente della Repubblica e i partiti politici rappresentati nell'Assemblea della Repubblica, al fine di valutare il riconoscimento dello Stato palestinese, in una procedura che potrà concludersi durante la Settimana di alto livello dell'80ª Assemblea Generale dell’#ONU, che si terrà a New York il prossimo settembre”.
@OsservatorioEsteri
#Romania🇷🇴
#Presidenziali
Crin #Antonescu, 65 anni e già docente di storia, è originario di Tulcea (Dobrugia). È stato Presidente del Senato rumeno dal 2012 al 2014 (e Presidente ad interim della Romania nel 2012), nonché Presidente del Partito Nazionale Liberale (#PNL|PPE) dal 2009 al 2014. È stato più volte deputato e senatore. È attualmente indipendente, ma rappresenta il candidato della coalizione elettorale "Romania Avanti" (ro. România Înainte), che include il Partito Social Democratico (#PSD|S&D), il Partito Nazionale Liberale e l'Unione Democratica Magiara di Romania (#UDMR|PPE), ovvero i partiti che sostengono l'attuale governo guidato da Marcel #Ciolacu (PSD).
@TuttoElezioni
#Romania🇷🇴
#Presidenziali
Victor #Ponta, 52 anni, è originario di Bucarest (Muntenia). Avvocato di professione, è stato deputati dal 2004 al 2020, Presidente del Partito Social Democratico (#PSD|S&D) dal 2010 al 2015, è Primo Ministro dal 2012 al 2015. Attualmente è di nuovo deputato, come indipendente nel gruppo parlamentare del PSD. Ponta si candidò anche alle elezioni presidenziali del 2014, dove giunse al ballottaggio con Klaus #Iohannis, sostenuto dal Partito Nazionale Liberale (#PNL|PPE); in quella tornata Ponta venne sconfitto da Iohannis. La sua candidatura è sostenuta da diversi partiti minori, tra i quali PRO Romania (#PRO|S&D), di cui è stato Presidente dal 2018 al 2024.
@TuttoElezioni