آموزش طراحی دامنه محور در عمل

Domain-Driven Design in Practice

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره: یک رهنمود توصیفی و عمیق برای استفاده از اصول طراحی دامنه محور در عمل. در حالی که طراحی دامنه محور بینش بسیار ارزشمندی را در مورد توسعه پروژه های نرم افزاری در سطح شرکت ارائه می دهد ، اما معمولاً نحوه استفاده از آنها در عمل مشخص نیست. در این دوره ، ما تمام مراحل ساخت یک برنامه را از همان ابتدا با استفاده از اصول DDD طی خواهیم کرد.

سرفصل ها و درس ها

مقدمه Introduction

  • شروع شدن Getting Started

  • طرح کلی دوره و پیش نیازها Course Outline and Prerequisites

  • منطقه کاربرد برای طراحی دامنه محور Area of Application for Domain-Driven Design

  • چرا طراحی دامنه محور؟ Why Domain-Driven Design?

  • مفاهیم اصلی طراحی دامنه محور Main Concepts of Domain-Driven Design

  • طراحی دامنه محور فقط مربوط به نوشتن کد نیست Domain-Driven Design Is Not Only About Writing Code

  • معماری پیاز و جداسازی دامنه Onion Architecture and Domain Isolation

  • مدل سازی بهترین شیوه ها Modeling Best Practices

  • طراحی دامنه محور و تست واحد Domain-Driven Design and Unit Testing

  • مقدمه دامنه مسئله The Problem Domain Introduction

  • خلاصه Summary

شروع با اولین متن محدود Starting with the First Bounded Context

  • مقدمه Introduction

  • واژگان استفاده شده Vocabulary Used

  • شرح مسئله Problem Description

  • شروع با دستگاه اسنک Starting with Snack Machine

  • خلاصه: شروع با دستگاه اسنک Recap: Starting with Snack Machine

  • اشخاص در مقابل اشیاue ارزش Entities vs. Value Objects

  • چگونه می توان یک شی Val ارزش را در مدل دامنه خود تشخیص داد؟ How to Recognize a Value Object in Your Domain Model?

  • کلاس پایه نهاد Entity Base Class

  • نسخه ی نمایشی: کلاس پایه نهاد Demo: Entity Base Class

  • خلاصه: کلاس پایه نهاد Recap: Entity Base Class

  • Value Object Base Class Value Object Base Class

  • خلاصه کردن: کلاس کلاس Object Value Recap: Value Object Base Class

  • اشیاue ارزش در برابر انواع ارزش .NET Value Objects vs. .NET Value Types

  • چه موقع تست های واحدی را بنویسید When to Write Unit Tests

  • اجرای کلاس پول Implementing the Money Class

  • ایجاد کلاس پول Building up the Money Class

  • اجرای کلاس ماشین اسنک Implementing the Snack Machine Class

  • خلاصه: پیاده سازی ماشین پول و اسنک Recap: Implementing Money and Snack Machine

  • خلاصه Summary

معرفی لایه های UI و Persistence Introducing UI and Persistence Layers

  • مقدمه Introduction

  • خدمات کاربردی و رابط کاربری در معماری پیاز Application Services and UI in the Onion Architecture

  • افزودن رابط کاربری برای دستگاه اسنک Adding UI for the Snack Machine

  • خلاصه: اضافه کردن UI برای دستگاه اسنک Recap: Adding UI for the Snack Machine

  • طراحی بانک اطلاعاتی برای دستگاه اسنک Designing the Database for the Snack Machine

  • معرفی ORM Introducing an ORM

  • استراتژی های تولید ID ID Generation Strategies

  • استراتژی های نقشه برداری Mapping Strategies

  • تنظیم لایه دامنه برای استفاده با ORM Adjusting the Domain Layer for the Use with ORM

  • همه اش را بگذار کنار هم Putting It All Together

  • خلاصه Summary

گسترش متن محدود با مصالح Extending the Bounded Context with Aggregates

  • مقدمه Introduction

  • شرح مسئله Problem Description

  • شروع با پیاده سازی Starting with the Implementation

  • مصالح Aggregates

  • چگونه می توان برای مصالح محدوده یافت How to Find Boundaries for Aggregates

  • جمع پایه ریشه Aggregate Root Base Class

  • بازسازی مواد سنگین اسنک Refactoring the Snack Machine Aggregate

  • جمع بندی مجدد: بازسازی مواد سنگین اسنک Recap: Refactoring the Snack Machine Aggregate

  • اجرای موارد ضروری Implementing Missing Requirements

  • آشکار کردن یک نیاز پنهان Revealing a Hidden Requirement

  • خلاصه: آشکار کردن یک نیاز پنهان Recap: Revealing a Hidden Requirement

  • خلاصه Summary

معرفی مخازن Introducing Repositories

  • مقدمه Introduction

  • تنظیم پایگاه داده برای نهادهای جدید Adjusting the Database for the New Entities

  • مخازن Repositories

  • مخزن کلاس پایه Repository Base Class

  • تنظیم نگاشت ها برای مصالح Setting up Mappings for the Aggregates

  • Refactoring موجودی اسنک Refactoring the Snack Entity

  • تنظیم رابط کاربری Adjusting the User Interface

  • خلاصه Summary

معرفی متن دوم محدود شده Introducing the Second Bounded Context

  • مقدمه Introduction

  • وظیفه جدید: یک مدل خودپرداز New Task: an ATM Model

  • متن های محدود شده Bounded Contexts

  • زمینه ها و دامنه های فرعی محدود شده Bounded Contexts and Sub-domains

  • انتخاب مرزها برای متن های محدود شده Choosing Boundaries for Bounded Contexts

  • ترسیم نقشه زمینه Drawing a Context Map

  • انواع جداسازی جسمی Types of Physical Isolation

  • ارتباط بین زمینه های محدود شده Communication Between Bounded Contexts

  • استفاده مجدد از کد بین متن های محدود شده Code Reuse Between Bounded Contexts

  • پیاده سازی منطق دامنه خودپرداز Implementing ATM Domain Logic

  • تنظیم پایگاه داده Adjusting the database

  • افزودن رابط کاربر Adding UI

  • خلاصه Summary

کار با Domain Events Working with Domain Events

  • مقدمه Introduction

  • الزامات جدید New Requirements

  • معرفی متن جدید محدود شده Introducing a New Bounded Context

  • اجرا: اولین تلاش Implementation: the First Attempt

  • رویدادهای دامنه Domain Events

  • معرفی یک رویداد دامنه Introducing a Domain Event

  • تحویل فیزیکی Physical Delivery

  • ایجاد زمینه مدیریت محدود Building up Management Bounded Context

  • مدیریت رویدادهای دامنه با رویکرد کلاسیک Handling Domain Events with the Classic Approach

  • خلاصه: رویکرد کلاسیک Recap: Classic Approach

  • رویکردی بهتر برای رسیدگی به رویدادهای دامنه A Better Approach to Handling Domain Events

  • خلاصه: رویکردی بهتر Recap: a Better Approach

  • استفاده از Domain Events برای برقراری ارتباط بین ریز سرویس ها Using Domain Events to Communicate Between Microservices

  • افزودن رابط برای زمینه مدیریت محدود شده Adding Interface for the Management Bounded Context

  • خلاصه Summary

به دنبال پیشرفتهای بعدی هستیم Looking Forward to Further Enhancements

  • مقدمه Introduction

  • همیشه معتبر در برابر همیشه معتبر نیست Always Valid vs. Not Always Valid

  • کارخانه ها Factories

  • خدمات دامنه در مقابل خدمات برنامه Domain Services vs. Application Services

  • ضد الگوی مدل دامنه کم خون Anemic Domain Model Anti-pattern

  • اشخاص چربی ضد الگوی Fat Entities Anti-pattern

  • مخزن ضد الگوها Repository Anti-patterns

  • رویکرد مکانیکی به DDD Mechanical Approach to DDD

  • پیشرفتهای بیشتر Further Enhancements

  • خلاصه ماژول Module Summary

  • فهرست منابع Resource List

  • خلاصه دوره Course Summary

نمایش نظرات

آموزش طراحی دامنه محور در عمل
جزییات دوره
4h 19m
101
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
612
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Vladimir Khorikov Vladimir Khorikov

ولادیمیر خوریکوف نویسنده کتاب Unit Testing اصول ، شیوه ها و الگوها است: https://amzn.to/2QXS2ch وی بیش از 15 سال است که به طور حرفه ای درگیر توسعه نرم افزار است ، از جمله تیم های راهنما در بخش آزمایش واحد . او همچنین بنیانگذار وبلاگ Enterprise Craftsmanship است ، جایی که سالانه به 500 هزار توسعه دهنده نرم افزار می رسد. وی به عنوان مشاور در مباحث برنامه نویسی عمومی شروع به کار کرد ، اما اخیراً تمرکز خود را به آزمایش واحد منتقل کرده است و پیام اصلی آن را به توسعه دهندگان نرم افزار آموزش می دهد که چگونه آزمایش واحد را بدون درد انجام دهند.