
آموزش پیادهسازی حرفهای طراحی مبتنی بر دامنه در دات نت
آموزش پیادهسازی حرفهای طراحی مبتنی بر دامنه (DDD) در .NET با عنوان اصلی Expert Domain-Driven Design (DDD) Implementation in .NET یکی دیگر از آموزشهای گروه آموزشی پرووید میباشد که در این قسمت آن را به شما معرفی میکنیم. در این دوره، مفاهیم مهم Domain-Driven Design بهصورت عملی در یک پروژه مبتنی بر .NET پیادهسازی میشوند و مباحثی مانند Entity، Value Object، Aggregate، لایههای Infrastructure و Application، Domain Event و ترکیب Event Sourcing با DDD مورد بررسی قرار میگیرند.
پیادهسازی Entity، Value Object و Aggregate در DDD
در این دوره ابتدا مدل دامنه یک سیستم مدیریت ایجاد میشود و سپس مفاهیم اصلی DDD در قالب کد پیادهسازی میشوند. مخاطب با ایجاد Entity، کپسولهسازی و محافظت از وضعیت Entity، جلوگیری از الگوی نامناسب Primitive Obsession، ساخت Value Object و تعریف قوانین کسبوکار در Entity آشنا میشود. همچنین نحوه طراحی و پیادهسازی Aggregate و رفتارهایی مانند پایان دادن به یک Consultation، مدیریت داروها و ثبت چندین Vital Sign مورد بررسی قرار میگیرد.
ساخت لایههای Infrastructure و Application
بخش دیگری از دوره به اتصال مدل دامنه به زیرساخت و لایه Application اختصاص دارد. در این بخش ایجاد DbContext، تنظیم Mapping مربوط به Type و Propertyها، ثبت DbContext در Dependency Injection و پیادهسازی Repository بررسی میشود. سپس Application Service و Command Handlerها ایجاد میشوند و نحوه ذخیرهسازی دادهها، بازیابی Entityهای ذخیرهشده و اجرای رفتارهای دامنه روی آنها بهصورت عملی دنبال میشود.
Domain Events و ترکیب Event Sourcing با DDD
در ادامه، Domain Eventها به مدل اضافه میشوند تا نحوه ایجاد، انتشار و دریافت رویدادهای دامنه مشخص شود. سپس AggregateRoot برای ثبت Eventها بازطراحی شده و رویدادهای مرتبط با Consultation پیادهسازی میشوند. در نهایت نحوه تغییر DbContext برای مدیریت Domain Eventها، ذخیره رویدادها در پایگاه داده و بارگذاری مجدد آنها بررسی میشود.
سرفصل مطالب آموزش ویدئویی پیادهسازی حرفهای طراحی مبتنی بر دامنه (DDD) در .NET
فصل ۱: مقدمه
- قدرت Domain-Driven Design در پروژههای .NET را به کار بگیرید
- آنچه باید بدانید
- آمادهسازی محیط توسعه
- مروری دوباره بر Domain-Driven Design
- آشنایی با چیزی که قرار است بسازید
فصل ۲: تعریف و پیادهسازی Entityها و Value Objectها
- ایجاد پروژه اولیه برای مدل دامنه Management
- پیادهسازی یک Entity
- انتقال منطق به یک کلاس پایه Entity
- کپسولهسازی و محافظت از وضعیت Entity
- جلوگیری از الگوی ضد Primitive Obsession
- پیادهسازی یک Value Object برای وزن حیوان خانگی
- پیادهسازی یک Entity دوم برای نژادهای حیوانات خانگی
- فراخوانی یک Domain Service در یک Value Object
- پیادهسازی قوانین کسبوکار در Entity مربوط به حیوان خانگی
- پیادهسازی Implicit Operatorها در Value Objectها
فصل ۳: تعریف و پیادهسازی Aggregateها
- بازطراحی Solution برای افزودن Shared Kernel Mapping
- افزودن Propertyهای موردنیاز به Aggregate
- پیادهسازی منطق پایان دادن به Consultation در Aggregate
- افزودن رفتار برای مدیریت داروها
- افزودن رفتار برای ثبت چندین Vital Sign
- نوشتن Unit Test برای Aggregate
فصل ۴: پیادهسازی لایه Infrastructure
- ایجاد ManagementDbContext
- پیکربندی Type و Property Mappingها در DbContext
- ثبت DbContext در Dependency Injection Container
- بازطراحی کد با استفاده از Repository Interface و Class
فصل ۵: پیادهسازی لایه Application
- پیادهسازی کلاس ManagementApplicationService
- ذخیره دادهها در کلاس ManagementApplicationService
- بازیابی Entityهای ذخیرهشده و فراخوانی رفتار آنها
- ایجاد Command Handler Interface برای مدیریت Commandها
- چالش: پیادهسازی Clinic API
- راهحل: پیادهسازی Clinic API
- چالش: بازطراحی تاریخ و زمان Consultation
- راهحل: بازطراحی تاریخ و زمان Consultation
فصل ۶: پیادهسازی Domain Eventها
- پیادهسازی Domain Eventها
- انتشار Domain Eventها
- عضویت در Domain Eventها
فصل ۷: ترکیب الگوی Event Sourcing با DDD
- بازطراحی کلاس AggregateRoot برای ثبت Eventها
- پیادهسازی اولین Domain Event برای ثبت شدن
- پیادهسازی Domain Eventهای بیشتر مرتبط با Consultation
- بازطراحی DbContext برای مدیریت Domain Eventها
- ذخیره Domain Eventها در پایگاه داده
- بارگذاری Domain Eventها از پایگاه داده
فصل ۸: جمعبندی
- گامهای بعدی در Domain-Driven Design (DDD)
دیدگاه ها