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

Domain-Driven Design Fundamentals

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیویی برای نمایش وجود ندارد.
توضیحات دوره: این دوره اصول طراحی دامنه محور (DDD) را از طریق نمایش تعاملات با مشتری و یک برنامه آزمایشی پیچیده، همراه با مشاوره از کارشناسان مشهور DDD به شما می آموزد. در این دوره، اصول طراحی دامنه محور، شما این مفاهیم و ابزارهای کلیدی برای پیاده سازی DDD. ابتدا نحوه مدل سازی یک مشکل نرم افزاری را بررسی خواهید کرد. در مرحله بعد، عناصر DDD را کشف خواهید کرد. در نهایت، یاد خواهید گرفت که چگونه از DDD در یک نرم افزار نمونه نرم افزاری استفاده کنید. پس از اتمام این دوره، مهارت ها و دانش طراحی Domain-Driven مورد نیاز برای کشف پیچیدگی دامنه خود، ساخت نرم افزار هوشمندتر و به دست آوردن درک عمیق تر از DDD را خواهید داشت.

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

بررسی اجمالی دوره Course Overview

  • مرور دوره Course Overview

معرفی طراحی دامنه Introducing Domain-Driven Design

  • مقدمه و مرور Introduction and Overview

  • از این دوره و این ماژول چه انتظاری باید داشت What to Expect from This Course and This Module

  • درک ارزش طراحی دامنه محور Understanding the Value of Domain-Driven Design

  • به دست آوردن درک سطح بالا از DDD Gaining a High-Level Understanding of DDD

  • بررسی مزایا و معایب بالقوه DDD Exploring the Benefits and Potential Drawbacks of DDD

  • بررسی نقشه ذهنی طراحی دامنه محور Inspecting a Mind Map of Domain-Driven Design

  • معرفی برنامه نمونه ما Introducing Our Sample Application

  • کاوش در ساختار سطح بالای برنامه نمونه Exploring the Sample App's High-level Structure

  • بررسی و منابع Review and Resources

مسائل مدلسازی در نرم افزار Modeling Problems in Software

  • مقدمه و بررسی اجمالی Introduction and Overview

  • معرفی دامنه ما Introducing Our Domain

  • برنامه ریزی از قبل برای یادگیری در مورد دامنه Planning Ahead to Learn About the Domain

  • مکالمه با یک متخصص دامنه: بررسی دامنه و زیر دامنه های آن Conversation with a Domain Expert: Exploring the Domain and Its Subdomains

  • گفتگو با یک متخصص دامنه: بررسی زیر دامنه برنامه ریزی Conversation with a Domain Expert: Exploring the Scheduling Subdomain

  • بررسی نکات کلیدی از جلسه با متخصص(های) دامنه Reviewing Key Takeaways from Meeting with Domain Expert(s)

  • گرفتن اولین پاس در مدل سازی زیر دامنه ما Taking a First Pass at Modeling our Subdomain

  • استفاده از زمینه های محدود برای باز کردن مفاهیمی که به نظر می رسد به اشتراک گذاشته شده اند Using Bounded Contexts to Untangle Concepts that Appear to Be Shared

  • مکالمه با اریک ایوانز در مورد زیر دامنه ها و زمینه های محدود Conversation with Eric Evans on Subdomains and Bounded Contexts

  • معرفی نقشه های زمینه Introducing Context Maps

  • پرداختن به پرسش پایگاه های داده جداگانه در هر زمینه محدود Addressing the Question of Separate Databases per Bounded Context

  • مشخص کردن زمینه های محدود در برنامه ما Specifying Bounded Contexts in our Application

  • درک زبان فراگیر یک زمینه محدود Understanding the Ubiquitous Language of a Bounded Context

  • مکالمه با یک متخصص دامنه: کار بر روی زبان همه جا حاضر ما Conversation with a Domain Expert: Working on our Ubiquitous Language

  • بررسی مفاهیم مهم این ماژول Reviewing Important Concepts from This Module

  • بررسی و منابع Review and Resources

عناصر یک مدل دامنه Elements of a Domain Model

  • مقدمه و بررسی اجمالی Introduction and Overview

  • اهمیت درک شرایط DDD The Importance of Understanding DDD Terms

  • تمرکز روی دامنه Focusing on the Domain

  • شناسایی رویدادها منجر به درک رفتارها می شود Identifying Events Leads to Understanding Behaviors

  • مقایسه مدل های کم خونی و دامنه غنی Comparing Anemic and Rich Domain Models

  • درک موجودیت ها Understanding Entities

  • تمایز CRUD از مشکلات پیچیده ای که از DDD سود می برند Differentiating CRUD from Complex Problems that Benefit from DDD

  • جابجایی بین زمینه ها در یک رابط کاربری Switching Between Contexts in a UI

  • استفاده از GUID یا Ints برای مقادیر هویت Using GUIDs or Ints for Identity Values

  • گفتگو با اریک ایوانز درباره مسئولیت نهادها Talking with Eric Evans About the Responsibility of Entities

  • موجودیت های پیاده سازی در کد Implementing Entities in Code

  • همگام سازی داده ها در زمینه های محدود Synchronizing Data Across Bounded Contexts

  • بررسی و منابع Review and Resources

درک اشیاء و خدمات ارزش در مدل Understanding Value Objects & Services in the Model

  • مقدمه و بررسی اجمالی Introduction and Overview

  • آشنایی با اشیاء ارزشی Getting Acquainted with Value Objects

  • شناخت اشیاء ارزشی که معمولاً مورد استفاده قرار می گیرند Recognizing Commonly Used Value Objects

  • دریافت بینش بیشتر از اریک ایوانز و وان ورنون Getting More Insight from Eric Evans and Vaughn Vernon

  • پیاده سازی اشیاء ارزش در کد Implementing Value Objects in Code

  • آشنایی با خدمات دامنه Understanding Domain Services

  • بررسی و منابع Review and Resources

مقابله با پیچیدگی با مصالح Tackling Complexity with Aggregates

  • مقدمه و بررسی اجمالی Introduction and Overview

  • مقابله با پیچیدگی داده ها Tackling Data Complexity

  • معرفی Aggregates و Aggregate Roots Introducing Aggregates and Aggregate Roots

  • در نظر گرفتن انجمن ها در مصالح Considering Associations in Aggregates

  • دستکاری روابط که جمع آوری می شود Handling Relationships that Span Aggregates

  • تکامل مجموع انتصابات Evolving the Appointments Aggregate

  • استفاده از متغیرها برای درک بهتر جمع ما Using Invariants to Better Understand Our Aggregate

  • مدل سازی پیشرفت ها و بازسازی Modeling Breakthroughs and Refactoring

  • تشخیص علائم تجمع نادرست Recognizing Signs of a Misidentified Aggregate

  • در نظر گرفتن زمانبندی به عنوان مجموعه جدید ما Considering Schedule as Our New Aggregate

  • بررسی جدول زمانبندی در برنامه ما Exploring the Schedule Aggregate in Our Application

  • به اشتراک گذاشتن نکات ما برای طراحی انبوه Sharing Our Tips for Aggregate Design

  • بررسی و منابع Review and Resources

کار با مخازن Working with Repositories

  • مقدمه و بررسی اجمالی Introduction and Overview

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

  • مزایای مخزن Repository Benefits

  • نکات مخزن Repository Tips

  • اجتناب از اشتباهات مخزن Avoiding Repository Blunders

  • پرداختن به بحث های پیرامون با استفاده از مخازن Addressing the Debates Around Using Repositories

  • بازگشت IQueryable: مزایا و معایب Returning IQueryables: Pros and Cons

  • در نظر گرفتن مخازن و رابط های عمومی Considering Generic Repositories and Interfaces

  • کاوش مخازن در برنامه ما Exploring Repositories in our Application

  • معرفی الگوی مشخصات Introducing the Specification Pattern

  • استفاده از مشخصات با مخازن در برنامه ما Using Specifications with Repositories in Our App

  • بررسی و منابع Review and Resources

افزودن رویدادهای دامنه و لایه های ضد فساد Adding in Domain Events and Anti-corruption Layers

  • مقدمه و بررسی اجمالی Introduction and Overview

  • معرفی رویدادهای دامنه Introducing Domain Events

  • شناسایی رویدادهای دامنه در سیستم ما Identifying Domain Events in Our System

  • طراحی رویدادهای دامنه Designing Domain Events

  • اعمال رویدادهای دامنه در یک برنامه ساده Applying Domain Events to a Simple App

  • کاوش رویدادهای دامنه در برنامه ما Exploring Domain Events in Our Application

  • معرفی لایه های ضد فساد Introducing Anti-Corruption Layers

  • بررسی و منابع Review and Resources

به لطف DDD، برنامه را به راحتی توسعه دهید Evolving the Application Easily Thanks to DDD

  • مقدمه و بررسی اجمالی Introduction and Overview

  • بررسی طراحی سیستم فعلی ما Reviewing Our Current System Design

  • پرداختن به یک ویژگی جدید با متخصص دامنه Addressing a New Feature with the Domain Expert

  • برنامه ریزی مراحل اجرایی ما Planning Our Implementation Steps

  • معرفی صف های پیام Introducing Message Queues

  • ارسال پیام به صف Sending a Message to the Queue

  • خواندن از صف پیام و عمل بر روی پیام Reading From the Message Queue and Acting on the Message

  • استفاده از صف های متعدد برای مدیریت ارتباطات مختلف Using Multiple Queues to Handle Various Communications

  • اشکال زدایی برای مشاهده جزئیات پیاده سازی در کد Debugging to See the Detailed Implementation in Code

  • با در نظر گرفتن میکروسرویس ها Considering Microservices

  • به اشتراک گذاشتن چند نکته برای گسترش و اجرای نمونه برنامه Sharing Some Tips for Extending and Running the Sample Application

  • در نظر گرفتن UI در طراحی دامنه Considering the UI in the Domain Design

  • مدل سازی با رویداد طوفان و تکنیک های دیگر Modeling with Event Storming and Other Techniques

  • اریک ایوانز در مورد مغالطه کمال گرایی Eric Evans on the Fallacy of Perfectionism

  • درس های آموخته شده از دوره ما در سال 2014 Lessons Learned Since Our 2014 Course

  • بررسی و منابع Review and Resources

نمایش نظرات

آموزش اصول طراحی دامنه محور
جزییات دوره
4h 48m
95
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
183
- از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Steve Smith Steve Smith

هنرمند/طراح/دی جی

استیو اسمیت یک طراح گرافیک و هنرمند با تجربه است که از موسیقی، یادگیری، کار بر روی iPad خود، قهوه و الهام بخشیدن به دیگران لذت می برد.

Julie Lerman Julie Lerman

جولی لرمن یک مربی نرم افزار با 30 سال تجربه به عنوان یک توسعه دهنده است. او یک نویسنده طولانی مدت Pluralsight ، Microsoft MVP ، مدیر منطقه ای مایکروسافت و ناخدای داکر است که در تپه های ورمونت زندگی می کند و همچنان به عنوان متخصص برتر جهان در Entity Framework شناخته می شود. شما می توانید جولی را با سخنرانی درمورد کلمات کلیدی و جلسات رمزگذاری سخت در زمینه طراحی دامنه ، Azure ، Entity Framework و سایر موضوعات در کنفرانس های نرم افزاری در سراسر جهان مشاهده کنید. به عنوان مربی ، جولی پشتیبانی از DDD و اجرای معماری را فراهم می کند ، کارگاه های Event Storming را تسهیل می کند و غواصی عمیقی در Entity Framework برای مشتریان خود فراهم می کند. جولی کتابهای بسیار تحسین شده "Programming Entity Framework" را از O'Reilly ، ستون MSDN Magazine Data Points و مقالات متعددی در منابع برنامه نویسی مورد علاقه شما تألیف کرده است.