В C# есть модификатор доступа internal, который закрывает свойство или метод для всего, кроме текущей сборки (сборка это по сути группа пространств имён). И это чертовски удобно для построения правильной архитектуры по DDD — ты делаешь домен отдельной сборкой без внешних зависимостей, у сущностей закрываешь сеттеры и другие поля модификатором internal, а бизнес-правила с открытыми методами уже пишешь в агрегатах, которые содержат эти сущности. Агрегаты объявлены в той же сборке, так что они могут с сущностями делать что угодно, но слой приложения уже сможет вызвать только метод агрегата.
Пример. Есть бизнес-процесс, который включает в себя две сущности: письмо и прикреплённый к нему документ. У каждой из этих сущностей разные жизненные циклы, но письмо можно отправить только в том случае, если статус документа "Согласован". Мы делаем агрегат "письмо с документом" и там public-метод отправки письма сначала проверяет статус документа, а потом вызывает internal-метод отправки в сущности письма. Снаружи (вне домена) вызвать сразу отправку письма невозможно.
Но как эту задачу решают разработчики на других языках? Я совершенно не понимаю, как сделать хорошую архитектуру без internal. Окей, в некоторых языках вообще нет вменяемого ОПП и системы типов, но и к таким ребятам я бы не подходил с вопросами об энтерпрайз-архитектуре. Однако, многие серьёзные проекты пишутся на Java или, скажем, Go, что делают разработчики там? Может, кто-нибудь знает, и расскажет мне в комментариях?
#dev
Android Tool
Program to manage control Android devices with Fastboot and ADB
Main Features:
Batch and single app installation (.apk files)
Disable, enable or uninstall system apps
Open, force stop or clear data of your apps
Receive and save logs from your device
Install or boot custom recovery or wipe partitions
Save apps list
Always relevant links to firmware and everything you need
And more
https://github.com/fast-geek/Android-Tool
Download - https://github.com/fast-geek/Android-Tool/releases
Telegram channel - @android_tooI
Telegram chat - @android_tooI_chat
4PDA thread - https://4pda.to/forum/index.php?showtopic=1000362
📡@NoGoolag📡@Libreware
#adb#fastboot
How to run #ADB and #fastboot in #Termux without root to unlock #bootloader, run ADB commands, remove #bloatware, flash ROM, or even root another #Android
https://www.mobile-hacker.com/2025/06/16/how-to-run-adb-and-fastboot-on-a-non-rooted-android-smartphone-using-termux/:
1. It supports debloating of various manufacturers and mobile carriers such as LG, Samsung, Xiaomi, Huawei, Oppo, Realme, Vivo, ZTE, OnePlus, Nokia, Sony, Asus, Google, Fairphone, Motorola, Tecno, Unihertz.
2. Full access to the app’s private storage — including databases, tokens, cached credentials, config files, or even offline user data.
3. Another common issue in AndroidManifest.xml is this flag: When enabled (which it is by default unless explicitly disabled), Android allows the app’s private data to be backed up via ADB — again, even on non-rooted devices.
Android, use termux-adb command instead of adb
https://github.com/nohajc/termux-adb
Android debloater for pc and debloat lists
https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation
https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation/blob/main/resources/assets/uad_lists.json
#debloat