Telegram Group & Telegram Channel
C# Programming Guide
Photo
در معماری CQRS هدف اصلی اینه که دیتابیس های Read از دیتابیس های Write از هم جدا بشن.
اما «نوع و روش» پیاده سازی این معماری از نظر من یک over engineering هست که به ازای هر مدل شما سه تا کلاس اضافه باید بسازید تا به هدف اصلی خودتون برسید که در اصل باعث پیچیدگی بیشتر پروژه میشه.

حالا بذارید چندتا سوال بپرسیم:
1. اگر در ابتدای پروژه خواستید یک MVP تحویل بدید چی؟ بازم می‌خواهید به ازای هر مدل چند کلاس Command و Query بسازید؟
2. اگر در یک آینده ی دور خواستید دیتابیس Read و Write رو جدا کنید چی (یعنی الان قصدش رو ندارید)؟ همین امروز باید کلی کد بزنید و کلاس بسازید؟

همه‌ی این معماری ها برای پیاده سازی خوب هستند اما روش پیاده سازی کاملا به شما و تجربیات شما بستگی داره.

در هسته ی Easy Microservices دو تابع GetReadableOf و GetWritableOf وجود داره که در ابتدای کار اصلا کاری به این نداره که دیتابیس Read از Write جدا بشه. شما می‌تونید در آینده هر وقت خواستید این دو رو از هم جدا کنید بدون تغییر کدهاتون و اضافه و کم کردن چیزی توی ساختار، این تغییرات رو اعمال کنید.بنابراین تا شما نگران این موضوع نشید این دو تابع در ابتدا تقریبا یک کار یکسان رو انجام میدن. همچنین مدیریت AsNoTracking توی EF Core برای پرفورمنس بهتر توی این مساله دیده شده. بنابراین هر وقت که خواستید دیتابیس هارو جدا کنید با یک تغییر کوچیک به دو کانکشن متفاوت دیتابیس‌ها جدا شده و این دو تابع و عملکرد خودشون رو نشون میدن.

معماری فقط راه حل نیست، بلکه مهمتر از اون روش پیاده سازی اون راه حل ارائه شده هست.

با ما همراه باشید.
@easymicroservice
@easymicroservices
@csharptips



tg-me.com/CsharpTips/396
Create:
Last Update:

در معماری CQRS هدف اصلی اینه که دیتابیس های Read از دیتابیس های Write از هم جدا بشن.
اما «نوع و روش» پیاده سازی این معماری از نظر من یک over engineering هست که به ازای هر مدل شما سه تا کلاس اضافه باید بسازید تا به هدف اصلی خودتون برسید که در اصل باعث پیچیدگی بیشتر پروژه میشه.

حالا بذارید چندتا سوال بپرسیم:
1. اگر در ابتدای پروژه خواستید یک MVP تحویل بدید چی؟ بازم می‌خواهید به ازای هر مدل چند کلاس Command و Query بسازید؟
2. اگر در یک آینده ی دور خواستید دیتابیس Read و Write رو جدا کنید چی (یعنی الان قصدش رو ندارید)؟ همین امروز باید کلی کد بزنید و کلاس بسازید؟

همه‌ی این معماری ها برای پیاده سازی خوب هستند اما روش پیاده سازی کاملا به شما و تجربیات شما بستگی داره.

در هسته ی Easy Microservices دو تابع GetReadableOf و GetWritableOf وجود داره که در ابتدای کار اصلا کاری به این نداره که دیتابیس Read از Write جدا بشه. شما می‌تونید در آینده هر وقت خواستید این دو رو از هم جدا کنید بدون تغییر کدهاتون و اضافه و کم کردن چیزی توی ساختار، این تغییرات رو اعمال کنید.بنابراین تا شما نگران این موضوع نشید این دو تابع در ابتدا تقریبا یک کار یکسان رو انجام میدن. همچنین مدیریت AsNoTracking توی EF Core برای پرفورمنس بهتر توی این مساله دیده شده. بنابراین هر وقت که خواستید دیتابیس هارو جدا کنید با یک تغییر کوچیک به دو کانکشن متفاوت دیتابیس‌ها جدا شده و این دو تابع و عملکرد خودشون رو نشون میدن.

معماری فقط راه حل نیست، بلکه مهمتر از اون روش پیاده سازی اون راه حل ارائه شده هست.

با ما همراه باشید.
@easymicroservice
@easymicroservices
@csharptips

BY C# Programming Guide




Share with your friend now:
tg-me.com/CsharpTips/396

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

What is Telegram Possible Future Strategies?

Cryptoassets enthusiasts use this application for their trade activities, and they may make donations for this cause.If somehow Telegram do run out of money to sustain themselves they will probably introduce some features that will not hinder the rudimentary principle of Telegram but provide users with enhanced and enriched experience. This could be similar to features where characters can be customized in a game which directly do not affect the in-game strategies but add to the experience.

A Telegram spokesman declined to comment on the bond issue or the amount of the debt the company has due. The spokesman said Telegram’s equipment and bandwidth costs are growing because it has consistently posted more than 40% year-to-year growth in users.

telegram from ua


Telegram C# Programming Guide
FROM USA