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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #pass

当前筛选 #pass清除筛选

🇮🇳Индия принимает российские сертификаты вакцинации c 3 ноября Для въезда в Индию туристам из РФ, кроме визы, необходимо иметь сертификат вакцинации на английском языке (proof) или справку с результатом ПЦР-теста. Сохраняется требование о заполнении онлайн-формы Air Suvidha. @travasap#india#rules#pass#tests

硬核小卒

@yinghexiaozu · Post #725 · 20.12.2020 г., 15:03

1️⃣Podcast Ads - 播客生存模式探索(上):这篇文章详细地介绍了播客的商业模式,包括播客行业的三大类广告,还有一些案例分析,值得一读。#播客#商业模式#广告 2️⃣梁孟松的 “标签”:半导体技术天才梁孟松在半导体行业(AMD、台积电、三星、中芯国际)的那些故事,目前,近七十岁的他在中芯国际追求人生理想。#梁孟松#芯片#AMD#台积电#中芯国际 3️⃣Electron 的 GitHub 主页:Electron 可以让你用前端技术(HTML、JS、CSS)构建跨平台的桌面应用,很多知名应用都是用 Electron 开发的,包括 VS Code、Notion、Slack、Discord、Spotify、WhatsApp、Atom、Raven、Typora、Xmind Zen,也可以从中学习到很多桌面开发的知识。#Electron#桌面开发#技术 4️⃣什么是 Serverless?:Serverless 作为一种技术趋势,允许用户编写和部署代码而无需担心底层基础设施,如数据库。#Serverless#技术趋势#Pass 5️⃣Billionaires Build:Paul Graham 最新的一篇博客,分享了他的思考:一个人如何成为亿万富翁,以及这些人的共同特质。#PaulGraham#创业 Automatically sent by Hardcore Bot v0.9.1