در این پست از وبسایت پرووید در رابطه با آموزش عملی و پروژه محور Domain Driven Design و CQRS صحبت خواهیم کرد. طراحی دامنه محور یا همان Domain Driven Design در واقع درک نیازهای واقعی کسب و کار مشتری است.

Domain Driven Design چیست؟

طراحی دامنه محور یا همان Domain Driven Design در واقع درک نیازهای واقعی کسب و کار مشتری است. ما باید درباره دامنه های مختلف مانند بانکداری، مخابرات، زنجیره تامین، مراقبت های بهداشتی و… دانش داشته باشیم. بنابراین در اینجا دامنه به معنی دانش کسب و کار درباره صنعت خاص است. به طور مشابه طراحی دامنه محور تمرکز بیشتری نسبت به نیازهای کسب و کار دارد نه به تکنولوژی. برای شروع نوشتن یک سیستم، باید بدانیم که مشتری چه چیزی را مد نظر دارد، در حین فاز اولیه هیچگاه درباره برنامه نویسی و معماری آن فکر نمیکنید. هدف اصلی شما درک تمام شرایط کسب و کار مشتری و چگونگی مدل دامنه مورد نیاز او است.

بنابراین چیزی که ما به دنبال آن هستیم بحث با مشتری درباره نیازهای کسب و کار او است. Domain Driven Design صرفا بر اساس این فرضیات برای ترسیم کردن نیازهای کسب و کار در مدل دامنه است. طراحی دامنه محور همه چیز درباره چگونگی طراحی مدل دامنه شماست. به این معنا که هر کلاس دامنه باید یک رابطه مستقیم با  آنچه که در دامنه کسب و کار است داشته باشد.

آموزش عملی و پروژه محور Domain Driven Design و CQRS سری آموزشی از وبسایت پرووید است که در رابطه با Domain Driven Design و CQRS تنظیم شده است. پس از این دوره ی آموزشی می توانید از بسته ی آموزش ویدئویی کاربردی معماری CQRS در نرم افزار و بسته ی آموزش ویدئویی معماری CQRS در نرم افزار مباحث تئوری و کاربردی استفاده کنید.

CQRS چیست؟

به بیان ساده CQRS یک سبک معماری ( Architecture Style) است که با استفاده از آن عملیات خواندن (Read Operations) و عملیات نوشتن (Write Operations) از هم تفکیک می شوند.

در معماری های سنتی و ساده اغلب از یک Data Model یکسان برای Query گرفتن و Update کردن دیتابیس استفاده می شود. این موضوع برای نرم افزارهایی که عملیات ساده ی CRUD را انجام می دهند مناسب است. اما در نرم افزارهای پیچیده تر این روش می تواند مشکل ساز شود. برای مثال، ممکن است عملیات خواندن از دیتابیس شامل انجام Query های پیچیده، کار کردن با DTO ها (Data Transfer Object) و همچنین Object Mapping های پیچیده باشد. از طرفی عملیات نوشتن بر روی دیتابیس می تواند شامل Validation های پیجیده و Business Logic های خاص باشد. بنابراین، اگر در چنین نرم افزارهایی از یک Data Model یکسان برای انجام عملیات خواندن و عملیات نوشتن استفاده شود، Data Model به شدت پیجیده می شود.

در این آموزش نحوه استفاده از Edument CQRS Starter Kit برای ساختن Domain Logic به صورت کامل به همراه تست ها را فرا خواهید گرفت. علاوه بر آن در رابطه با Read Model ها صحبت خواهیم کرد و نحوه استفاده از Domain Logic و Read Model ها در یک برنامه ی نمونه ی ASP.NET MVC بررسی خواهیم کرد. از شما دعوت می‌کنیم که تا پایان این آموزش با وب سایت پرووید همراه شوید و علاوه بر این، از بسته ی آموزش ویدئویی اصول طراحی نرم افزار Domain Driven Design، بسته ی آموزش ویدئویی کاربردی طراحی نرم افزار Domain Driven Design وب سایت استفاده کنید.

لیست کامل سری آموزش عملی و پروژه محور Domain Driven Design و CQRS

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *