کتاب Domain-Driven Design

Domain-Driven Design Tackling Complexity in the Hurt of System
تصویر شاخص
حجم

3 مگابایت

نوع فایل

PDF

زبان

انگلیسی

تعداد صفحات

529

نویسنده

Eric Evans

کتاب Domain-Driven Design Tackling Complexity in the Hurt of System

 

کتاب Domain-Driven Design Tackling Complexity in the Hurt of System در واقع منبع اصلی و سر آغاز جنبش تحت عنوان Domain-Driven Design(DDD) محسوب می‌شود که در سال ۲۰۰۳ توسط آقای Eric Evans نوشته و منتشر شد. در این کتاب برای اولین بار اصطلاح Domain-Driven Design مطرح شد.

 

در این کتاب Eric جنبه‌ی دیگری از پیچیدگی در نرم‌افزار را مطرح و بر آن تاکید کرد. جنبه‌ی مهم و جذاب این کتاب این است که Eric در این کتاب کاملا از تجربه‌ی واقعی خود صحبت می‌کند و هیچ ابایی از اشاره به تجربه‌ی شکست خورده خود نیز نکرده است.

 

بخش اول کتاب بر اهمیت مدلسازی دامین به عنوان یک ابزار مهم طراحی و ارتباطی بین متخصصان دامنه و تیم توسعه و سایز افراد درگیر در تولید محصول تمرکز دارد. در فصل دوم کتاب(Communication and the Use of Language) ما با اصطلاح بسیار مهم Ubiquities Language(زبان همگانی) و اهمیت آن آشنا خواهیم شد. از همان ابتدای کتاب Eric بر اهمیت این عنصر مهم در طراجی سیستم و نقش آن در پیچیدگی اشاره می‌کند. الگوها و مثال‌های مختلفی جهت غلبه بر این نوع پیچیدگی که آن را پیچیدگی ذاتی و اساسی می‌دانیم در بخش‌های ابتدایی کتاب آورده شده است. بخش اول شامل فصل‎‌های زیر می‌باشد:

  • فصل اول:  Crunching Knowledge
  • فصل دوم: Communication and the Use of Language
  • فصل سوم:  Binding Model and Implementation

 

بخش دوم کتاب بلاک‌های اصلی سازنده Domain Model را معرفی می‌کند. این بخش شامل عناصر تکنیکال(Tactical DDD) و پیاده سازی مدل دامنه می‌باشد. در این بخش به جنبه‌های فنی و تکنیکال و پیاده‌سازی و با تاکید بر معماری لایه‌ای(Layered Architecture) اشاره می‌کند. مواردی از جمله Aggregate، Entity، Value Objectو Domain Service و موارد مشابه در این بخش مورد اشاره قرار می‌گیرد. در فصل پایانی این بخش یعنی فصل هفتم(Using the Language: An Extended Example) یک مثال کامل ارائه شده است که تمامی موارد ارائه شده در فصول قبل را بصورت کامل در بر می‌گیرد. این بخش شامل فصول زیر می‌باشد:

  • فصل چهارم: Isolating the Domain
  • فصل پنجم: A Model Expressed in Software
  • فصل ششم: The Life Cycle of a Domain Object
  • فصل هفتم: Using the Language: An Extended Example

 

Eric در بخش سوم کتاب خود به لزوم اهمیت پاسخگویی به تغییرات، مناسب و متناسب با تغییر در نیازمندیها و خواسته‌های ذینفعان محصول می‌پردازد. این بخش به عنصر Refactoring در طراحی و پیاده‌سازی نرم‌افزار اشاره دارد. Eric از دیدگاه متفاوتی به مقوله Refactoring نگاه می‌کند و تلاش می‌کند نشان دهد که توجه به دامین و مسئله و مدل و همچنین زبان فراگیر و جهانی در بدست آوردن بینش‌ها و مفاهیم مهم و جدید در فضای مسئله می‌تواند این امکان را به ما بدهد که به یک موفقیت و البته موفق بزرگ دست پیدا کنیم. Eric در فصل آخر این بخش ویژگی‌هایی از یک نوع معماری را نشان می‌دهد بنام (Supple Design). و اشاره می‌کند که در سطح پیاده‌سازی برای اینکه امکان پشتیانی از این تغییرات در فضای سئله را داشته باشیم نیاز می‌باشد که این سری ویژگی‌ها را در معماری و طراحی خود بکار بگیریم. بخش شامل فصل‌های زیر می‌باشد:

  • فصل هشتم: Breakthrough
  • فصل نهم: Making Implicit Concepts Explicit
  • فصل دهم: Supple Design
  • فصل یازدهم: Applying Analysis Patterns
  • فصل دوازدهم: Relating Design Patterns to the Model
  • فصل سیزدهم: Refactoring Toward Deeper Insight

 

بخش پایانی کتاب به مباحث استراتژیک(Strategic DDD) اختصاص داده شده است. رویکرد غالب DDD جهت غلبه بر پیچیدگی در فضای مسئله رویکرد تقسیم و غلبه می‌باشد. بدین معنی که مسئله بزرگ و اصلی به چندین مسئله کوچکتر(Sub Domain) شکسته می‌شود. در این بخش مفهوم Bounded Context جهت نگاشت Sub Domain به فضای راه‌حل معرفی می‎شود. همچنین در این بخش مهمترین الگوهای مورد استفاده برای پیاده سازی DDD در مقیاس بزرگ(برای دامین‌های بزرگ دارای چندین Sub-Domain و همچنین سازمان‌های دارای چندین تیم نرم‌افزاری مختلف) مورد بحث و بررسی قرار گرفته شده است. بخش پایانی شامل فصل‌های زیر می‌باشد:

  • فصل چهاردهم: Maintaining Model Integrity
  • فصل پانزدهم: Distillation
  • فصل شانزدهم: Large-Scale Structure
  • فصل هفدهم: Bringing the Strategy Together

 

کتاب شامل ۱۷ فصل می‌باشد:

  • فصل اول:  Crunching Knowledge
  • فصل دوم: Communication and the Use of Language
  • فصل سوم:  Binding Model and Implementation
  • فصل چهارم: Isolating the Domain
  • فصل پنجم: A Model Expressed in Software
  • فصل ششم: The Life Cycle of a Domain Object
  • فصل هفتم: Using the Language: An Extended Example
  • فصل هشتم: Breakthrough
  • فصل نهم: Making Implicit Concepts Explicit
  • فصل دهم: Supple Design
  • فصل یازدهم: Applying Analysis Patterns
  • فصل دوازدهم: Relating Design Patterns to the Model
  • فصل سیزدهم: Refactoring Toward Deeper Insight
  • فصل چهاردهم: Maintaining Model Integrity
  • فصل پانزدهم: Distillation
  • فصل شانزدهم: Large-Scale Structure
  • فصل هفدهم: Bringing the Strategy Together

دانلود کتاب

Reviews

There are no reviews yet.

Be the first to review “کتاب Domain-Driven Design”

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

You may also like…

قیمت

رایگان

ظرفیت 19847

19847 in stock

امتیازی ثبت نشده است
سطح آموزش پیشرفته
تاریخ انتشار: 3 اسفند 1398آخرین بروزرسانی: 26 آذر 1403تعداد بازدید: 6065
قوانین و مزایای استفاده

  • دسترسی به فایل محصول به صورت مادام‌العمر
  • تضمین کیفیت آموزش ها
  • فعال‌سازی آنی لینک دانلود، پس از ثبت سفارش
  • فروش فقط از طریق دیجی آکادمی
  • به صورت رایگان یک یا چند آموزش را دریافت می کنید.
فروشنده

مکتب‌خانه DDD

Category: Tags:
قیمت

رایگان

19847 in stock