CodeShot

مسیر یادگیری Domain Driven Design (DDD)

رویکرد طراحی نرم‌افزار با محوریت دامنه کسب‌وکار و زبان مشترک تیم (Ubiquitous Language).

7 مرحله

  1. 1.

    Domain-Driven Design (DDD) چیست؟

    رویکردی برای طراحی نرم‌افزار که دامنه کسب‌وکار و زبان مشترک بین توسعه‌دهنده و متخصص کسب‌وکار (Ubiquitous Language) را مرکز طراحی قرار می‌دهد.

    ~10 ساعت
  2. 2.

    زبان مشترک و طراحی استراتژیک

    مفهوم زبان مشترک بین توسعه‌دهندگان و متخصصان کسب‌وکار و نقش آن در طراحی استراتژیک Domain-Driven Design را معرفی می‌کند.

    ~3 ساعت
  3. 3.

    مرزبندی دامنه با Bounded Context

    چگونگی تقسیم یک دامنه بزرگ به Bounded Contextهای مستقل با مدل‌های داده و زبان مخصوص به خود را آموزش می‌دهد.

    ~4 ساعت
  4. 4.

    Entity در برابر Value Object

    تفاوت Entity دارای هویت پایدار با Value Object غیرقابل‌تغییر و بدون هویت را با مثال‌های عملی نشان می‌دهد.

    ~3 ساعت
  5. 5.

    طراحی Aggregate و Aggregate Root

    نقش Aggregate Root در حفظ تغییرناپذیرها (Invariant) و کنترل مرز تراکنشی یک خوشه از Entity ها و Value Object ها را شرح می‌دهد.

    ~4 ساعت
  6. 6.

    اطلاع‌رسانی با رویدادهای دامنه

    استفاده از Domain Event برای اطلاع‌رسانی وقوع یک اتفاق مهم کسب‌وکاری درون یا بین Aggregateها را توضیح می‌دهد.

    ~3 ساعت
  7. 7.

    Repository و Domain Service

    نحوه انتزاع دسترسی به Aggregateها از طریق Repository و پیاده‌سازی منطقی که به یک Entity واحد تعلق ندارد در Domain Service را بررسی می‌کند.

    ~3 ساعت