آموزش معماری مدرن نرم افزارها CQRS و Domain Model و Event Sourcing

تعداد ویدئو 55
زمان دوره 04:25:28
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش معماری مدرن نرم افزارها CQRS و Domain Model و Event Sourcing یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی معماری مدرن نرم افزار Domain Model، CQRS و Event Sourcing است که با نام اصلی Modern Software Architecture Domain Models, CQRS, and Event Sourcing از شرکت Pluralsight منتشر شده است.

Domain Model چیست؟

به منظور مشخص شدن مفهوم Domain Model باید ابتدا هر کدام از این دو واژه را به صورت جداگانه بررسی کنیم. Domain به معنی فضا یا حوزه ای است که در حال توسعه ی سیستم برای آن هستیم. مثال هایی از Domain شامل این موارد هستند: مدیریت خطوط هوایی، بیمه، کافی شاپ، دانشگاه و غیره. ممکن است محدوده ی یک سیستم شامل چندین Domain باشد. برای مثال، محدوده ی یک سیستم فروش آنلاین دامین های از این قبیل باشد: ارسال محصول (انتخاب بهترین روش های ارسال محصول با در نظر گرفتن محصول و مقصد)، قیمت گذاری (تخفیف گذاری ها و تبلیغات) و پیشنهادهای خرید (مشخص کردن محصولات مرتبط با توجه به سابقه ی خرید)

مفهوم کلمه ی Model یک تخمین از مسئله ی پیش رو است. برای مثال، کلاس Employee یک تخمین از ماهیت تمام و کمال یک کارمند در یک Domain است. بدون شک در یک کلاس Employee تمامی ویژگی ها و رفتارهای یک کارمند را قرار نمی دهیم، بلکه فقط مواردی که در Domain مورد نظر اهمیت دارند قرار میگیرند. موضوع دیگر اینکه ممکن است کلاس Employee در یک Domain به صورت متفاوتی نسبت به یک Domain دیگر مدل شود. برای مثال، دامین صدور حقوق و دامین منابع انسانی یک کارمند را به روش های متفاوتی مدل می کنند.

و نهایتاً مفهوم Domain Model همان Model ی است که برای Domain مورد نظر پیاده سازی می شود.
Modern-Software-Architecture-Domain-Models-CQRS-and-Event-Sourcing-snapshot

CQRS و Event Sourcing چیست؟

CQRS سرنام چهار کلمه ی Command Query Responsibility Segregation باشد که به معنی تفکیک وظایف Command و Query ها در نرم افزار است. در واقع، Command ها درخواست های نوشتن و Query ها درخواست های خواندن می باشند که باید توسط اشیا متفاوتی مدیریت و انجام شوند. مسائل متنوع زیادی در مورد موضوع CQRS وجود دارد که اغلب با Domain Driven Design گره خورده اند. قرار دادن دو بانک اطلاعاتی در برنامه به منظور انجام عملیات خواندن و نوشتن به صورت جداگانه از هر کدام از این بانک ها ساده ترین شکل الگوی CQRS می باشد. در تصویر زیر شکل ساده از این الگو را مشاهده می کنید.

CQRS-and-Event-Sourcing

سرفصل مطالب آموزش معماری مدرن نرم افزار Domain Model، CQRS و Event Sourcing

فصل اول: نگاهی کوتاه به Domain Driven Design

  • مقدمه
  • تاریخچه ی Domain Driven Design
  • شرایط امروزی Domain Driven Design
  • کج فهمی ها در Domain Driven Design

فصل دوم: کشف کردن معماری Domain از طریق Domain Driven Design

  • مقدمه
  • مفهوم Ubiquitous Language
  • تعریف Ubiquitous Language
  • نکات Ubiquitous Language
  • مفهوم Bounded Context
  • کشف کردن Bounded Context ها
  • مفهوم Context Mapping
  • مفهوم Event Storming

فصل سوم: معماری Layered در Domain Driven Design

  • مقدمه
  • لایه های یک سیستم نرم افزاری
  • لایه ی Presentation
  • لایه ی Application
  • لایه ی Business Logic
  • الگوهای سازماندهی Business Logic
  • لایه ی Domain
  • لایه ی Infrastructure

فصل چهارم: معماری پشتیبان (Supporting Architecture) Domain Model

  • مقدمه
  • مفهوم Holistic Model برای یک Business Domain
  • جنبه های یک Domain Model
  • Domain Model های Database-centric
  • مفهوم Behavior
  • Domain Model به عنوان یک Domain API
  • مفهوم Aggregate ها و Value Type ها
  • مفهوم Domain Service ها
  • Event های درون یک Business Domain
  • مفهوم Anemic Model
  • فرا رفتن از Domain Model های تک و فراگیر

فصل پنجم: معماری پشتیبان (Supporting Architecture) CQRS

  • مقدمه
  • نگاهی کوتاه به CQRS
  • نوع اول: Regular CQRS
  • بررسی عملی Regular CQRS
  • نوع دوم: Premium CQRS
  • بررسی عملی Premium CQRS
  • مفهوم Business Logic مبتنی بر message
  • نوع سوم: Deluxe CQRS
  • پیاده سازی Deluxe CQRS
  • بررسی دقیق کد Deluxe CQRS

فصل ششم: Event Sourcing

  • مقدمه
  • حرکت از CQRS به سمت Event ها
  • نگاهی کوتاه به Event Sourcing
  • Event ها در نقش Data Source
  • Persistence سازی مبتنی بر Event
  • انجام Event Projection با Stored Event ها
  • بررسی عملی Event Sourcing
  • Data Store های مبتنی بر Event

فصل هفتم: طراحی نرم افزار بر اساس Domain

  • مقدمه
  • کار با Legacy Code
  • بررسی دوباره ی سیستم های CRUD
  • مقدمه ای کوتاه بر UX-Driven Design
  • نکات مهم در UX-Driven Design
  • ستون های نرم افزارهای مدرن

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش معماری مدرن نرم افزارها CQRS و Domain Model و Event Sourcing”

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

دسته های محصولات

افزودن به سبد خرید