В C# есть модификатор доступа internal, который закрывает свойство или метод для всего, кроме текущей сборки (сборка это по сути группа пространств имён). И это чертовски удобно для построения правильной архитектуры по DDD — ты делаешь домен отдельной сборкой без внешних зависимостей, у сущностей закрываешь сеттеры и другие поля модификатором internal, а бизнес-правила с открытыми методами уже пишешь в агрегатах, которые содержат эти сущности. Агрегаты объявлены в той же сборке, так что они могут с сущностями делать что угодно, но слой приложения уже сможет вызвать только метод агрегата.
Пример. Есть бизнес-процесс, который включает в себя две сущности: письмо и прикреплённый к нему документ. У каждой из этих сущностей разные жизненные циклы, но письмо можно отправить только в том случае, если статус документа "Согласован". Мы делаем агрегат "письмо с документом" и там public-метод отправки письма сначала проверяет статус документа, а потом вызывает internal-метод отправки в сущности письма. Снаружи (вне домена) вызвать сразу отправку письма невозможно.
Но как эту задачу решают разработчики на других языках? Я совершенно не понимаю, как сделать хорошую архитектуру без internal. Окей, в некоторых языках вообще нет вменяемого ОПП и системы типов, но и к таким ребятам я бы не подходил с вопросами об энтерпрайз-архитектуре. Однако, многие серьёзные проекты пишутся на Java или, скажем, Go, что делают разработчики там? Может, кто-нибудь знает, и расскажет мне в комментариях?
#dev
#XVS/USDT analysis :
#XVS has broken out above the 200 EMA and the previous swing high, exhibiting strong bullish momentum. The price is currently retracing and testing the support zone along with the 200 EMA. It is expected to retest this area and rebound, continuing its bullish momentum towards testing the swing high level.
TF : 4H
Entry : $7.60
Target : $9.33
SL : $6.84
#XVS/USDT analysis :
#XVS is in an uptrend, trading above the 200 EMA and consolidating over the support zone. The price is expected to bounce back from the support zone and test the previous highs.
TF : 4H
Entry : $7.42
Target : $8.05
SL : $7.00
#XVS/USDT analysis :
#XVS has recently broken out of the ascending triangle pattern on the LTF. Price is trading above the 200 EMA. It is expected to continue its bullish momentum and test previous swing highs.
TF : 2H
Entry : $6.98
Target : $7.59
SL : $6.64
#xvs
😭 Джастин Сан продал 621k XVS (Venus) за $1,95m с убытком ~$5,63m (-74%).
В январе 2024 года основатель Tron купил эти токены за $7,58m.
Ранее: атака на Venus
Crypto Headlines