Перейти к содержимому

#10 | Хватит присваивать ID всему подряд — 3 правила для улучшения архитектуры .NET

BuildVision Eng: Luay

0:00 / 0:00

#10 | Хватит присваивать ID всему подряд — 3 правила для улучшения архитектуры .NET

192 просмотра · 2 нед. назад
BuildVision Eng: Luay
92 подписчика
192 просмотра · 2 нед. назад
Нужно ли всему в вашей системе иметь идентификатор? Не обязательно. В этом эпизоде ​​серии BuildFlow мы отойдём от простого написания кода и перейдём к размышлениям об архитектурных решениях, лежащих в его основе. Мы узнаем, почему не все концепции в предметной области должны иметь идентификатор, и как объекты-значения могут представлять концепции, определяемые их значениями, а не идентификатором. Мы также обсудим важную проблему при проектировании крупномасштабных систем: 🔹 Как реализовать аудит, не создавая новый базовый класс для наших сущностей? 🔹 Почему мы используем интерфейсы в качестве контрактов вместо базовых классов? 🔹 Почему нам нужны UTC и GUID в контракте аудита? 🔹 Как инфраструктура может автоматически распознавать и применять эти контракты? 🔹 Почему мы используем мягкое удаление вместо жёсткого удаления? 🔹 И как глобальный фильтр запросов EF Core помогает автоматизировать правило мягкого удаления? Затем мы переходим к самой важной части: 🧠 Какие инженерные правила мы можем извлечь? Моделирование значений как объектов-значений Представление сквозных аспектов в виде контрактов Автоматизация этих процессов инфраструктурой --- 🌐 BuildFlow-V3 — Демонстрация в реальном времени Зарегистрируйте свой собственный арендатор и следуйте полному жизненному циклу проектной документации: Черновик ← На рассмотрении ← Утверждено ← Архивировано (Многопользовательская SaaS-система, созданная на .NET 8). URL: [https://build-flow-v3-orpin.vercel.app](https://build-flow-v3-orpin.vercel.app) 💻 BuildFlow-V3 — Исходный код (.NET 8) Модульная монолитная архитектура, проектирование, управляемое предметной областью (DDD), шаблон CQRS, многопользовательский режим, кэширование Redis, отслеживание производительности OpenTelemetry, а также 90 модульных тестов и полная непрерывная интеграция (CI). Репозиторий GitHub: [https://github.com/luaay/BuildFlow-V3](https://github.com/luaay/BuildFlow-V3) Интерфейс документации API в реальном времени (Swagger): [https://github.com/luaay/BuildFlow-V3](https://github.com/luaay/BuildFlow-V3) 📂 Репозиторий с пошаговыми обучающими руководствами Полный исходный код, шаг за шагом, соответствующий серии видеороликов на YouTube. URL: [https://github.com/luaay/BuildFlow-Tu...](https://github.com/luaay/BuildFlow-Tu...) 🎥 Полная серия видеоуроков: 🇸🇦 Серия на арабском языке: [   • BuildFlow Demo | Engineering Document Work...  ](   • BuildFlow Demo | Engineering Document Work...  ) 🇬🇧 Серия на английском языке: [   • 🚀 BuildFlow Demo | Build a Real Engineerin...  ](   • 🚀 BuildFlow Demo | Build a Real Engineerin...  ) --- Этот эпизод посвящен не просто добавлению нескольких классов в SharedKernel; он о разделении ответственности и принятии архитектурных решений, которые делают систему чище, масштабируемее и удобнее в обслуживании. В конце эпизода мы также обсуждаем ряд вопросов для собеседования, касающихся объектов-значений, хеширования и интерфейсов, а также то, как объяснять инженерные решения, а не просто запоминать термины. 🚀 В следующем эпизоде: Мы рассмотрим эти контракты от уровня проектирования до уровня реализации, посмотрев, как инфраструктура и EF Core могут превратить эти архитектурные решения в реальное поведение внутри системы. 🛠️ Технологии и концепции ASP.NET Core • .NET 8 • C# • DDD • Чистая архитектура • Модульный монолит • SharedKernel • Объекты-значения • Аудит • Мягкое удаление • EF Core 📺 Серия BuildFlow Если вы хотите понять, почему мы строим системы именно так, а не только как писать код, следите за серией BuildFlow с самого начала. 👍 Если этот эпизод оказался вам полезным, не забудьте поставить лайк, подписаться на канал и поделиться им с разработчиком, которому он может пригодиться. BuildFlow — Создание программного обеспечения на основе инженерных решений.