آموزش اصول طراحی دامنه محور Domain Driven Design

تعداد ویدئو 92
زمان دوره 04:04:52
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش اصول طراحی دامنه محور Domain Driven Design یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی اصول Domain Driven Design است که با نام اصلی Domain Driven Design Fundamentals از شرکت Pluralsight منتشر شده است.

Domain Driven Design چیست؟

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

Domain-Driven-Design-Fundamentals-2-snapshot

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

نکته ای در مورد این بسته ی آموزش اصول طراحی نرم افزار Domain Driven Design

متاسفانه تعداد اندکی از ویدئوهای این مجموعه مشکل دار هستند. البته این مشکل هیچ ربطی به کم کاری وبسایت پرووید ندارد و از همان وبسایت اصلی Pluralsight می باشند. به منظور دوبله ی این بسته ی آموزشی از چندین وبسایت مختلف ایرانی اقدام به دانلود این بسته کردیم ولی متاسفانه همه ی آنها نیز مشکل ذکر شده را داشتند.

Domain-Driven-Design-Fundamentals

با این وجود محتوای آموزشی این بسته به قدری با ارزش و مفید است که این مشکل کوچک هیچ خللی در آن ایجاد نمی کند و ما اطمینان داریم با توجه به محتوای آموزشی، کیفیت دوبله و همچنین در دسترس بودن فایل های پروژه، می توانید بهترین استفاده را از این بسته ی آموزشی کنید.

سرفصل مطالب آموزش اصول طراحی نرم افزار Domain Driven Design

فصل اول: مقدمه ای بر Domain Driven Design

  • مقدمه
  • تاریخچه ی Domain Driven Design
  • در این دوره ی آموزشی چه چیزی را فرا خواهید گرفت؟
  • مشارکت آقای Eric Evans در این دوره ی آموزشی
  • دلیل اهمیت Domain Driven Design چیست؟
  • دید سطح بالا از Domain Driven Design: تعامل با Domain Expert ها
  • دید سطح بالا از Domain Driven Design: تمرکز بر روی SubDomain ها
  • دید سطح بالا از Domain Driven Design: پیاده سازی SubDomain ها
  • مزایای Domain Driven Design
  • معایب Domain Driven Design
  • نقشه ی مربوط به Domain Driven Design
  • بررسی برنامه ی ساخته شده در این بسته ی آموزشی
  • مهمترین موضوعات برای یادگیری

فصل دوم: مدل کردن Problem ها در نرم افزار

  • مقدمه
  • تعریف اهداف
  • کسب اطلاعات در مورد Domain از طریق صحبت کردن با Domain Expert ها
  • شکست Domain به SubDomain ها
  • تمرکز بر روی یک SubDomain با یک Domain Expert
  • اولیل مدل سطح بالا از SubDomain
  • ساخت یک Bounded Context
  • تفاوت بین یک SubDomain و یک BoundedContext
  • فهمیدن Context Map ها
  • صحبت آقای Eric Evans در مورد تعریف شفاف Context Boundary ها
  • Bounded Context ها در برنامه ی ما
  • Ubiquitous Language (زبان فراگیر) در یک Bounded Context
  • کار بر روی یک Ubiquitous Language با یک Domain Expert
  • واژه نامه
  • جمع بندی
  • منابع

فصل سوم: عناصر Domain Model

  • مقدمه
  • تعریف اهداف
  • اهمیت فهمیدن واژه های Domain Driven Design
  • تمرکز بر روی Domain
  • تفاوت Anemic Domain و Rich Domain
  • Entity ها در Domain Driven Design و در Bounded Context برنامه
  • صحبت آقای Eric Evans در مورد اصل Single Responsibility در Entity ها
  • صحبت آقای Eric Evans در مورد متدهای تساوی Entity ها
  • نحوه ی پیاده سازی Entity ها در برنامه
  • ارتباطات Association ها
  • Value Object ها
  • صحبت آقای Eric Evans در مورد متدهای Value Object ها
  • Value Object ها در برنامه
  • صحبت آقای Eric Evans در مورد کد Entity در Value Object ها
  • Domain Service ها
  • واژه نامه
  • جمع بندی
  • منابع

فص جهارم: Aggregate ها در Domain Driven Design

  • مقدمه
  • تعریف اهداف
  • حل و فصل کردن پیچیدگی داده ای (Data Complexity)
  • معرفی Aggregate ها و Aggregate Root ها
  • تعامل بین Aggregate ها
  • تکامل Appointment Aggregate در برنامه
  • استفاده از Invariant ها برای فهم بهتر Aggregate ها
  • پیشبرد مدل سازی و ریفکتورینگ
  • استفاده از Scheduling به عنوان Aggregate جدید
  • تعریف Schedule Aggregate در برنامه
  • مرور نکات Aggregate ها
  • واژه نامه
  • منابع

فصل پنجم: Repository ها

  • مقدمه
  • تعریف اهداف
  • معرفی Repository ها
  • نکات و مزیت Repository ها
  • مقایسه Repository ها و Factory ها
  • استفاده از اینترفیس IRepository جنریک
  • استفاده از Repository های جنریک در Domain Driven Design
  • Repository های برنامه
  • انجام ریفکتورینگ برای تفکیک و Separation بیشتر
  • واژه نامه
  • منابع

فصل ششم: Domain Event ها و Anti-corruption Layer ها

  • مقدمه
  • تعریف اهداف
  • معرفی Domain Event ها
  • پیاده سازی Domain Event ها در یک برنامه ی نمونه
  • تعریف Domain Event ها در برنامه ی اصلی
  • مرزهای Domain Event ها
  • لایه ی Anti-corruption
  • واژه نامه
  • منابع

فصل هفتم: بهره مند شدن از مزایای Domain Driven Design

  • مقدمه
  • تعریف اهداف
  • طراحی سیستم فعلی
  • بررسی یک قابلیت جدید با Domain Expert برای پیاده سازی
  • برنامه ریزی برای پیاده سازی قابلیت جدید
  • قرار دادن یک Message Queue بین برنامه ها
  • ترکیب Message Queue و Event و Service در برنامه
  • بررسی دقیق جزییات پیاده سازی
  • گسترش دادن بیشتر برنامه
  • بررسی UI و ارتباط آن با Domain
  • صحبت آقای Eric Evans در مورد Fallacy of Perfectionism
  • نکته ی کلیدی این فصل
  • واژه نامه
  • منابع

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش اصول طراحی دامنه محور Domain Driven Design”

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

دسته های محصولات

افزودن به سبد خرید