شماره تماس 09336863931 | 09178169907 پست الکترونیک provid.ir@gmail.com
آموزش اصول طراحی نرم افزار Domain Driven Design

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

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

Domain Driven Design چیست؟

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

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

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

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

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

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

رجوع به این بسته در سایت Pluralsight

ویدئوی معرفی به علت قرار داشتن بر روی سایت آپارات از کیفیت بالایی برخوردار نیست. این موضوع در مورد ویدئوهای خریداری شده که بر روی سرور سایت قرار داده شده اند صدق نمی کند.

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

عناوین بسته ی آموزش اصول طراحی نرم افزار 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

با خرید این بسته ی آموزشی لینک دانلود آن به صورت مستقیم برای شما ایمیل شده و می توانید اقدام به دانلود کنید. دقت بفرمایید که لینک دانلود ارسال شده پس از گذشت 24 ساعت منقضی می شود.

به منظور دریافت پستی بسته های برنامه نویسی سایت پرووید، پس از انجام پرداخت، بر روی دکمه ی زیر کلیک کرده و فرم مربوطه را پر کنید.

Purchase-Icon

آموزش کاربردی طراحی نرم افزار Domain Driven Design

آموزش کاربردی طراحی نرم افزار Domain Driven Design

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

Domain Driven Design چیست؟

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

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

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

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

رجوع به این بسته در سایت Pluralsight

ویدئوی معرفی به علت قرار داشتن بر روی سایت آپارات از کیفیت بالایی برخوردار نیست. این موضوع در مورد ویدئوهای خریداری شده که بر روی سرور سایت قرار داده شده اند صدق نمی کند.

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

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

فصل اول: مقدمه

  • شروع به کار
  • سرفصل این دوره ی آموزشی و پیش نیازها
  • حوزه های کاربر Domain Driven Design
  • چرا باید از Domain Driven Design استفاده کنیم؟
  • مفاهیم اساسی در Domain Driven Design
  • Domain Driven Design لزوماً مربوط به کد نویسی نیست
  • معماری پیازی و Domain Isolation
  • بهترین تکنیک های مدل سازی
  • ارتباط Domain Driven Design و Unit Testing
  • معرفی نرم افزار این بسته ی آموزشی یا همان دامین مسئله (Domain Problem)
  • جمع بندی

فصل دوم: شروع به کار با اولین Bounded Context

  • مقدمه
  • واژگان مورد استفاده
  • توصیف مسئله
  • شروع به کار با انتیتی Snack Machine
  • مرور شروع به کار با انتیتی Snack Machine
  • مقایسه ی Entity ها و Value Object ها
  • نحوه ی شناخت Value Object ها در Domain Model
  • معرفی کلاس پدر Entity ها
  • پیاده سازی عملی کلاس پدر Entity ها
  • مرور کلاس پدر Entity ها
  • معرفی کلاس پدر Value Object ها
  • مرور کلاس پدر Value Object ها
  • مقایسه ی Value Object ها و Value Type ها در دات نت
  • زمان مناسب نوشتن Unit Test
  • پیاده سازی کلاس Money
  • اتمام پیاده سازی کلاس Money
  • پیاده سازی کلاس Snack Machine
  • مرور پیاده سازی کلاس Money و کلاس Snack Machine
  • جمع بندی

فصل سوم: معرفی لایه های UI و Persistence

  • مقدمه
  • Application Service ها و UI در معماری پیازی
  • افزودن UI برای Snack Machine
  • مرور افزودن UI برای Snack Machine
  • طراحی بانک اطلاعاتی برای Snack Machine
  • معرفی NHibernate به عنوان یک ORM
  • استراتژی های ID Generation
  • استراتژی های Mapping
  • تنظیم Domain Layer برای استفاده شدن در ORM
  • تنظیم موارد دیگر
  • جمع بندی

فصل چهارم: گسترش دادن Bounded Context با استفاده از Aggregate ها

  • مقدمه
  • توصیف مسئله
  • شروع به کار با پیاده سازی
  • معرفی Aggregate ها
  • نحوه ی پیدا کردن مرزهای Aggregate  ها
  • معرفی کلاس پدر Aggregate Root
  • ریفکتور کردن Snack Machine به عنوان یک Aggregate
  • مرور ریفکتور کردن Snack Machine به عنوان یک Aggregate
  • پیاده سازی نیازمندی های دیگر
  • پدیدار شدن نیازمندهای مخفی
  • مرور پدیدار شدن نیازمندهای مخفی
  • جمع بندی

فصل پنجم: معرفی Repository ها

  • مقدمه
  • تنظیم کردن بانک اطلاعاتی برای Entity های جدید
  • معرفی Repository ها
  • معرفی کلاس پدر Repository ها
  • پیاده سازی Mapping ها برای Aggregate ها
  • ریفکتور کردن انتیتی Snack
  • تنظیم UI برنامه
  • جمع بندی

فصل ششم: معرفی Bounded Context دوم

  • مقدمه
  • پیاده سازی یک مدل جدید برای یک ATM
  • Bounded Context های موجود
  • مقایسه ی مفهوم Bounded Context و Sub Domain
  • انتخاب کردن مرزهای Bounded Context ها
  • تشکیل دادن یک Context Map
  • انواع Physical Isolation ها
  • ارتباطات بین Bounded Context ها
  • Code Reuse (استفاده ی مجدد از کد) بین Bounded Context ها
  • پیاده سازی Domain Logic مربوط به انتیتی ATM
  • تنظیم کردن بانک اطلاعاتی
  • افزودن UI
  • جمع بندی

فصل هفتم: کار با Domain Event ها

  • مقدمه
  • نیازمندی های جدید
  • معرفی یک Bounded Context جدید
  • اولین تلاش در پیاده سازی
  • معرفی Domain Event ها
  • مبحث Physical Delivery
  • ساخت Management به عنوان یک Bounded Context
  • هندل کردن Domain Event ها با روش سنتی
  • مرور روش سنتی
  • یک روش بهتر برای هندل کردن Domain Event ها
  • مرور روش بهتر
  • استفاده از Domain Event ها برای ارتباط بین Microservice ها
  • اضافه کردن UI برای Management به عنوان یک Bounded Context
  • جمع بندی

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

  • مقدمه
  • مقایسه ی روش Always Valid و Not Always Valid
  • معرفی Factory ها
  • مقایسه ی Domain Service ها و Application Service ها
  • ضدالگوی Anemic Domain Model
  • ضدالگوی Fat Entity
  • ضدالگوهای Repository ها
  • روش برخورد Mechanical با Domain Driven Design
  • بهبودهای دیگر
  • جمع بندی
  • لیست منابع
  • خلاصه ی بسته ی آموزشی

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

با خرید این بسته ی آموزشی لینک دانلود آن به صورت مستقیم برای شما ایمیل شده و می توانید اقدام به دانلود کنید. دقت بفرمایید که لینک دانلود ارسال شده پس از گذشت 24 ساعت منقضی می شود.

به منظور دریافت پستی بسته های برنامه نویسی سایت پرووید، پس از انجام پرداخت، بر روی دکمه ی زیر کلیک کرده و فرم مربوطه را پر کنید.

Purchase-Icon

CLOSE
CLOSE