دیزاین پترن Mediator از دسته رفتاری در مجموعه ۲۳ پترن مشهور Gang of Four است. ارتباط پیچیده چند جزء را از طریق یک هماهنگکننده مرکزی مدیریت میکند.
سناریوی واقعی در فروشگاه
در فرم Checkout تغییر روش ارسال، محاسبه مالیات و فعال شدن روش پرداخت به هم وابستهاند. مدیاتور این جریان را هماهنگ میکند.
نمونه در PHP
final class CheckoutMediator {
public function shippingChanged(string $method): void {
$this->totals->recalculate($method);
$this->paymentOptions->refresh();
}
}
نمونه در پایتون
class CheckoutMediator:
def shipping_changed(self, method):
self.totals.recalculate(method)
self.payment_options.refresh()
چه زمانی مناسب نیست؟
اگر همه منطق در Mediator جمع شود، به کلاس بزرگ و دشوار برای نگهداری تبدیل میشود.
برای شناخت جایگاه این پترن در سه دسته اصلی، دیزاین پترن را ببینید. مقاله دیزاین پترن باورژن و دوره آموزشی باورژن نیز منابع مرتبطاند.