В C# есть модификатор доступа internal, который закрывает свойство или метод для всего, кроме текущей сборки (сборка это по сути группа пространств имён). И это чертовски удобно для построения правильной архитектуры по DDD — ты делаешь домен отдельной сборкой без внешних зависимостей, у сущностей закрываешь сеттеры и другие поля модификатором internal, а бизнес-правила с открытыми методами уже пишешь в агрегатах, которые содержат эти сущности. Агрегаты объявлены в той же сборке, так что они могут с сущностями делать что угодно, но слой приложения уже сможет вызвать только метод агрегата.
Пример. Есть бизнес-процесс, который включает в себя две сущности: письмо и прикреплённый к нему документ. У каждой из этих сущностей разные жизненные циклы, но письмо можно отправить только в том случае, если статус документа "Согласован". Мы делаем агрегат "письмо с документом" и там public-метод отправки письма сначала проверяет статус документа, а потом вызывает internal-метод отправки в сущности письма. Снаружи (вне домена) вызвать сразу отправку письма невозможно.
Но как эту задачу решают разработчики на других языках? Я совершенно не понимаю, как сделать хорошую архитектуру без internal. Окей, в некоторых языках вообще нет вменяемого ОПП и системы типов, но и к таким ребятам я бы не подходил с вопросами об энтерпрайз-архитектуре. Однако, многие серьёзные проекты пишутся на Java или, скажем, Go, что делают разработчики там? Может, кто-нибудь знает, и расскажет мне в комментариях?
#dev
#BAR/USDT analysis :
#BAR has retraced to the support zone, testing the 200 EMA. The price is anticipated to bounce back from this level and aim to test its previous high.
TF : 1D
Entry : $2.300
Target : $2.800
SL : $2.060
#BAR/USDT analysis :
#BAR is currently in an uptrend, trading above the 200 EMA. The price has broken out of the trendline and is expected to continue its bullish momentum, with the potential to test the previous swing high.
TF : 4h
Entry : $2.109
Target : $2.560
SL : $1.900
#BAR result
2nd target achieved in just 10 minutes ✅✅
One more quick profit 11%💰🤑
👉 The longer you wait more you lose profit. Hurry up 🏃♂
☎️ Contact @MichaelStrategiesVip
Сегодня ребята из Алматинского бара OHRA дают свою первую гостевую смену и сразу в Бишкеке, в баре RIAD😎
Уникальный концепт бара, который объединяет оба города, которые причастны к Великому Шелковому Пути.
Бармены-торговцы покажут свои лучшие коктейли, созданные в Нью-Йоркском стиле только из бутилированного алкоголя. И чтобы порадовать странников, будут представлены на продажу ювелирные изделия ручной работы, созданные их друзьями, и по традиции Охры - вы сможете купить любое понравившееся украшение сняв прям с бармена 🤩
Воскресенье, 19.05
19:00-00:00
RIAD BAR (Киевская, 203)
@BishDvizh#bar#тусовка
Оппа, скидки - детектед! Крутые скидосы на коктейли, пиво и кухню в No Options Bar по 20% - ну это точно Без Вариантов! 😎
🚀 Weekend Beer Discounts: Because Even AI Needs a Break 😅
- Оптимизируй свой уикенд: больше пива и еды - меньше затрат!
Начиная уже прям сейчас! Т.е. с этой пятницы и до конца воскресенья!
Ну а в субботу разбудите в себе креативность и поднимите там бокал за 8 Марта, поздравляя прекрасных женщин, ну вот как мы без них!?
А что еще важно знать про бар «Без Вариантов» • «No Options Bar» ?
• Во-первых там аж 26 кранов на вкуснейшее крафтовое пенное!
• Во-вторых там самый большой выбор пива в банках в Бише! Более 400 позиций 🙀
• В-третьих, там есть изысканные коктейли для тех кто на паузе от пены.
• В-четвертых, там есть кухня для любого гурмана, ведь это важно совмещать потребление алкоголя с едой!
Вас уже ждут!
Юнусалиева, 76
время работы
10:00–03:00
#craftbeer#bar
@BishDvizh
Сегодня вечером возьмем четыре небольших бутылочки водки и душевно продегустируем с Юрой и красной рыбкой: https://youtu.be/QEqR_vEQS54 Начало в 19-00, заходите на огонек.) #vodka#bar