تصمیم گیری در رابطه با جایگاه کد در Domain Driven Design #4 را در این قسمت از وبسایت آموزش برنامه نویسی پرووید دانلود کنید.

تصمیم گیری در رابطه با جایگاه کد در Domain Driven Design #4

توصیه اول این است که هر Aggregate را با یک Repository تک مرتبط کنیم. به عبارت دیگر یک Repository تک مسئول تبدیل کردن تغییرات یک Aggregate به دستورات آپدیت برای اجرا شدن بر روی بانک اطلاعاتی باشد. اینکه یک رابطه و تناظر یک به یک بین Aggregate ها و Repository ها وجود داشته باشد امری اجباری نیست اما انجام دادن این کار باعث می شود که کد درون Repository ها ساده تر شود و ایجاد تغییرات بر روی آنها آسانتر گردد چرا که تغییرات انجام شده در Repository ها فقط بر روی یک Aggregate تاثیر میگذارد. ضمناً از آنجایی که حجم زیادی از کدهای درون Repository ها توسط Entity Framework تولید می شود نیازی به نگرانی در رابطه با کد اشتراکی بین Repository ها که برای Aggregate های مختلف نوشته میشود نیست.

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

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

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