TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #973 · 20.04

В C# есть модификатор доступа internal, который закрывает свойство или метод для всего, кроме текущей сборки (сборка это по сути группа пространств имён). И это чертовски удобно для построения правильной архитектуры по DDD — ты делаешь домен отдельной сборкой без внешних зависимостей, у сущностей закрываешь сеттеры и другие поля модификатором internal, а бизнес-правила с открытыми методами уже пишешь в агрегатах, которые содержат эти сущности. Агрегаты объявлены в той же сборке, так что они могут с сущностями делать что угодно, но слой приложения уже сможет вызвать только метод агрегата. Пример. Есть бизнес-процесс, который включает в себя две сущности: письмо и прикреплённый к нему документ. У каждой из этих сущностей разные жизненные циклы, но письмо можно отправить только в том случае, если статус документа "Согласован". Мы делаем агрегат "письмо с документом" и там public-метод отправки письма сначала проверяет статус документа, а потом вызывает internal-метод отправки в сущности письма. Снаружи (вне домена) вызвать сразу отправку письма невозможно. Но как эту задачу решают разработчики на других языках? Я совершенно не понимаю, как сделать хорошую архитектуру без internal. Окей, в некоторых языках вообще нет вменяемого ОПП и системы типов, но и к таким ребятам я бы не подходил с вопросами об энтерпрайз-архитектуре. Однако, многие серьёзные проекты пишутся на Java или, скажем, Go, что делают разработчики там? Может, кто-нибудь знает, и расскажет мне в комментариях? #dev

Hashtags

Резултати

Намерени 11 подобни публикации

Търсене: #rays

当前筛选 #rays清除筛选

⚡️Los Rays en sus últimas 4 series: Barreda de 3-0 contra los Twins Victoria de la serie de 2-1 contra los Guardians Barreda de 3-0 contra los Giants Barreda de 3-0 contra los Blue Jays Tampa Bay está en una racha ganadora ☀️ #Rays 🗞 | t.me/MLB_Daily

Hashtags

💥💱 𝑻𝑹𝑨𝑫𝑬 𝑨𝑳𝑬𝑹𝑻 💱💥 🪽 Angels reciben a: ⚡️ OF Josh Lowe ⚡️ Rays reciben a: 🔴 INF/OF Gavin Lux 🧢 RHP Chris Clark 🦐 Reds reciben a: 🧢 LHP Brock Burke #️⃣#Trade#Rays#Angels#Reds#JLowe#Lux#CClark#Burke 🗞 | t.me/MLB_Daily

💥💱 𝑻𝑹𝑨𝑫𝑬 𝑨𝑳𝑬𝑹𝑻 💱💥 🦤 Orioles reciben a: ⚡️ RHP Shane Baz ⚡️ Rays reciben a: ⚾️ OF Slater de Brun (Prospecto #6 de Orioles) ⚾️ C Caden Bodine (Prospecto #10 de Orioles) 🧢 RHP Michael Forret (Prospecto #11 de Orioles) ⚾️ OF Austin Overn (Prospecto #30 de Orioles) - una selección de la Ronda A de Equilibrio Competitivo #️⃣#Trade#Orioles#Rays#Baz#DeBrun#Bodine#Forret#Overn 🗞 | t.me/MLB_Daily

💥💱 𝑻𝑹𝑨𝑫𝑬 𝑨𝑳𝑬𝑹𝑻 💱💥 🔱 Mariners reciben a: 🐦 INF/OF Brendan Donovan 🐧 Cardinals reciben a: 🧢 RHP/LHP Jurrangelo Cijntje (Prospecto #7 de Mariners) ⚾️ OF Tai Peete (Prospecto #11 de Mariners) ⚾️ OF Colton Ledbetter (Prospecto #24 de Mariners) 🖥 selección de draft de Comp B. ⚡️ Rays reciben a: ⚾️ 3B Ben Williamson #️⃣#Trade#Mariners#Cardinals#Rays#Donovan#Cijntje#Peete#Ledbetter#BeWilliamson 🗞 | t.me/MLB_Daily

💥💱 𝑻𝑹𝑨𝑫𝑬 𝑨𝑳𝑬𝑹𝑻 💱💥 🏴‍☠️ Piratas reciben a: ⚡️ INF Brandon Lowe ⚾️ OF Jake Mangum 🧢 Mason Montgomery ⭐️ Astros reciben a: 🧢 RHP Mike Burrows ⚡️ Rays reciben a: ⚾️ OF Jacob Melton (Prospecto #2 de Astros) 🧢 RHP Anderson Brito (Prospecto #7 de Astros) #️⃣#Trade#Piratas#Astros#Rays#BLowe#Mangum#MaMontgomery#Burrows#Melton#ABrito 🗞 | t.me/MLB_Daily