@PTPPAction · Post #195 · 13.01.2023 г., 07:10
#dev#ted423#merged feat:增加52pt、hitpt、skyey2的升级条件
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #973 · 20.04
В C# есть модификатор доступа internal, который закрывает свойство или метод для всего, кроме текущей сборки (сборка это по сути группа пространств имён). И это чертовски удобно для построения правильной архитектуры по DDD — ты делаешь домен отдельной сборкой без внешних зависимостей, у сущностей закрываешь сеттеры и другие поля модификатором internal, а бизнес-правила с открытыми методами уже пишешь в агрегатах, которые содержат эти сущности. Агрегаты объявлены в той же сборке, так что они могут с сущностями делать что угодно, но слой приложения уже сможет вызвать только метод агрегата. Пример. Есть бизнес-процесс, который включает в себя две сущности: письмо и прикреплённый к нему документ. У каждой из этих сущностей разные жизненные циклы, но письмо можно отправить только в том случае, если статус документа "Согласован". Мы делаем агрегат "письмо с документом" и там public-метод отправки письма сначала проверяет статус документа, а потом вызывает internal-метод отправки в сущности письма. Снаружи (вне домена) вызвать сразу отправку письма невозможно. Но как эту задачу решают разработчики на других языках? Я совершенно не понимаю, как сделать хорошую архитектуру без internal. Окей, в некоторых языках вообще нет вменяемого ОПП и системы типов, но и к таким ребятам я бы не подходил с вопросами об энтерпрайз-архитектуре. Однако, многие серьёзные проекты пишутся на Java или, скажем, Go, что делают разработчики там? Может, кто-нибудь знает, и расскажет мне в комментариях? #dev
Hashtags
Общо глобално търсене
@PTPPAction · Post #195 · 13.01.2023 г., 07:10
#dev#ted423#merged feat:增加52pt、hitpt、skyey2的升级条件
@PTPPAction · Post #182 · 11.01.2023 г., 08:20
#dev#ted423#merged fix(hhanclub):憨值更名为憨豆 pt-plugins/PT-Plugin-Plus#1299
@PTPPAction · Post #179 · 10.01.2023 г., 01:40
#dev#ted423#merged fix(aither): serch issue https://github.com/pt-plugins/PT-Plugin-Plus/issues/1296
@PTPPAction · Post #165 · 08.01.2023 г., 15:20
#dev#ted423#merged fix:(GTorg):使用HTTPS连接tracker
@PTPPAction · Post #163 · 08.01.2023 г., 15:11
#dev#ted423#merged fix:(GTorg):使用HTTPS连接tracker
@PTPPAction · Post #160 · 08.01.2023 г., 14:30
#dev#ted423#merged feat(azusa):获取发布种子数
@PTPPAction · Post #154 · 05.01.2023 г., 10:11
#dev#ted423#merged feat(htpt):增加获取时魔
@PTPPAction · Post #149 · 04.01.2023 г., 07:00
#dev#ted423#merged feat(GTorg):支持未读消息数
@PTPPAction · Post #146 · 04.01.2023 г., 06:30
#dev#ted423#merged fix(azusa): 域名自动跳转引起的问题 目前站点会自动从www.azusa.wiki跳转到azusa.wiki。导致工具栏等都出现了问题
@PTPPAction · Post #140 · 03.01.2023 г., 05:50
#dev#ted423#merged feat(ultrahd):增加升级条件、做种体积
@PTPPAction · Post #132 · 02.01.2023 г., 13:50
#dev#ted423#merged Revert "fix(FRDS): timezone" This reverts commit a1b1f9cae267ba83d8b227b17743323fa8af4b4a.
@PTPPAction · Post #129 · 02.01.2023 г., 13:40
#dev#ted423#merged fix(FRDS): timezone