آموزش عملی و پروژه محور Domain Driven Design و CQRS #3 قسمت سوم از یک سری آموزشی از وبسایت پرووید است که در رابطه با Domain Driven Design و CQRS تنظیم شده است. پس از این دوره ی آموزشی می توانید از بسته های آموزشی وبسایت پرووید در رابطه با Domain Driven Design را استفاده کنید.

در قسمت قبلی از این آموزش در مورد تعریف Event ها صحبت کردیم.

تعریف Command ها

ماهیت Command ها نشانگر یک درخواست به Domain ما میباشند. یکی از نقاط تمایز Event ها و Command ها در این است که یک Event در گذشته بدون شک اتفاق افتاده است اما یک Command چنین نیست. به عبارتی یک Command ممکن است پذیرفته یا رد شود. یک Command پذیرفته شده می‌تواند منجر به رخ دادن هیچ Event یا بیش از چندین Event بشود. این Event ها حقایق جدیدی را وارد سیستم می کنند و اما Command ی که پذیرفته نشده است منجر به نوعی Exception می‌شود.

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

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

تعریف Command ها نیز با تمرکز بر روی افعال Domain انجام می شوند. با این وجود آنها به چیزهایی که کاربر از آنها به عنوان یک عملیات و یا Operation یاد می کند دلالت دارند.

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

  • OpenTab
  • PlaceOrder
  • AmendOrder
  • MarkDrinksServed
  • MarkFoodPrepared
  • MarkFoodServed
  • CloseTab

دقت کنید که نام مربوط به این Command ها حاوی افعالی در حالت امری می باشند. این نیز از نقاط تمایز Command ها و Event ها می باشد.

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

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

در نامگذاری Command ها از افعالی که در حالت امری هستند استفاده می شود در حالی که در تعریف Event ها از افعالی در حالت گذشته قرار دارند استفاده می شود.

در قسمت بعدی از این آموزش در مورد تعریف Exception ها صحبت خواهیم کرد.

دیدگاهتان را بنویسید

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