خوب هر کدوم از اون مربع ها یک پروژه هستش که ما وقتی که از mediateR استفاده میکنیم برای ارتباط بین پروژه ها

خوب mediator یک design pattern هستش و cqrs یک معماری هستش

خوب ما در این پروژه داریم مستقیم با سرویس های دیگه صحبت میکنیم ، ولی ممکنه که بخوایم هر کدوم از این ها رو تغییرش بدیم مثلا از nlog استفاده میکردیم ولی حالا میخوام از log4net استفاده کنیم

خوب در این حالت وقتی که چند تا اپلیکیشن داشته باشیم فقط کافیه که وصلش کنیم به email service و اون میاد کار رو انجام میده

و حتی وقتی که مثلا mail server ما از روی جیمیل به هات میل تغییر کنه ولی email service ما تغییری نمیکنه

خوب حالا فرض کنیم که اون email service روی یه آیپی خاص تنظیم شده و بعد به دلایلی از کار افتاده ، تا زمانی ما application رو تغییر ندیم و اون اپی رو عوض نکنیم تمام اون ایمیل ها از بین میرن

حالا فرض کنید که یه عملیات بانکی انجام شده و تمام ، حالا میخوایم پیامک اش که پول از حساب یکی کم شده و به حساب دیگری اضافه شود بفرستیم ، حالا به صورت اتفاقی به ارور میخوره

معماری بانک در این حالت ماکرو سرویسی نیست

خوب اینجا دیگه اپلیکیشن کاری نداره که ما از چه سرویس هایی داریم استفاده میکنیم فقط به طور مثال درخواست اش رو میده به messages queue و روی اون تعیین میکنه که این درخواست باید به کجا یا کجاها بره

خوب حالا مزیت این کار اینه که به طورمثال نیم ساعت سرویس ایمیل میخوابه حالا messages queue پر میشه از ایمیل هایی که قراره ارسال بشن و بعد از این که سرویس درست بشه همه ی اون ها به همون ترتیب درست ارسال میشه

خوب اینجا برای این که بار سرویس های اس ام اس کم بشه. اومدیم یکی دیگه هم اضافه کردیم

هر کدوم از این ها میتونه یه پروژه داکر باشه که بیاد لود بالانس و… دیگه رو انجام بده

اتمام قسمت ۱