Table of Contents
در سیستم های نرم افزاری پیچیده، به ویژه آنهایی که شامل رویدادهای متعدد و اجزای مختلف هستند، مدیریت وابستگی ها می تواند چالش برانگیز باشد. الگوی Mediator یک راه حل موثر با متمرکز کردن ارتباطات و کاهش وابستگی مستقیم بین اجزای آن ارائه می دهد.
الگوی Mediator چیست؟
الگوی Mediator یک الگوی طراحی رفتاری است که یک شی ( واسط) را تعریف می کند که نشان می دهد چگونه مجموعه ای از اشیاء به طور مستقیم ارتباط برقرار می کنند، آنها پیام هایی را به واسطه ارسال می کنند که سپس تعاملات را هماهنگ می کند.این رویکرد به تجزیه اجزای و ساده سازی مسیرهای ارتباطی پیچیده کمک می کند.
مزایای استفاده از الگوی Mediator
- [در این باره]: [[۱]] [۱۰] وابستگی به سرخی: [[۱۰]] [۱۰] اجزای دیگر نیازی به دانستن مستقیم یکدیگر ندارند.
- قابلیت نگهداری: تغییرات در یک جزء نیاز به تغییرات کمتری در جای دیگر دارد.
- مقیاس پذیری: اجزای جدید را می توان با حداقل تاثیر بر کد موجود اضافه کرد.
- کنترل را متمرکز می کند؛ [FLT 1] منطق ارتباطات در یک مکان مدیریت می شود، ساده سازی اشکال زدایی و به روز رسانی.
اجرای الگوی Mediator در سیستم های Event
برای پیاده سازی الگوی Mediator، این مراحل را دنبال کنید:
- رابط کاربری Mediator را اصلاح کنید؛ [FLT 1] روش های ارتباطی بین اجزای مختلف را ایجاد کنید.
- [[۱] [۱۰] ایجاد واسطه ی بتنی؛ [[۱۰] [۱۰] [۱]] [۱] [۱۰] [۱] [۱] [۱۰] [۱]] [۱] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱] [۱]] [۱۰] [۱] [۱] [۱] [۱] [۱] [۵] [۵] [۳] [۵] [۵] [۵] [۵] [۵] [۵] [۵] [۱] [۵] [۳] [۱] [۵] [۵] [۵] [۵] [۳] [۵]]] [۱]]]]] [۱] [۳] [۳] [۱] [۱] [۵] [۵] [۵] [۵] [۱] [۱] [۵] [۵] [۵] [بر [بر [۵] [بر [۵] [۵] [بر [بر [۱] [۱] [۵] [بر [۵] [۵] [۵] [بر [بر [بر [۵] [۵] [۵]]] [۵] [
- [[۱] [۱۰] اجزای مودّف: [[۱۰] [۱۰] [۱] [۱] [۱۰] [۱] [۱] [۱] [۱۰] [۱] [۱] [۱۰] [۱]] [۱۰] [۱] [۱] [۱]] [۱] [۱] [۱] [۱] [۱] [۱] [۱]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱]]] [۱] [۱]] [۱] [۱] [۱]]]]] [۱]]]]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱]]]] [۱] [۱]]] [۱] [
- [در این باره]: [[۱]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۱] [۱] [۲] [۵] [۵] [۵] [۵] [۵] [۱] [۱] [۱] [۱] [۱] [۱] [۵] [۵] [۲] [۱] [۱] [۱] [۱]]]] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۳] [۳] [۳] [۱] [۳] [۳] [۲] [۲] [۲] [۱] [
به عنوان مثال، در یک UI پیچیده، ویجت های مختلف می توانند رویدادهای را به واسطه ارسال کنند، که سپس به روز رسانی سایر ویجت ها یا اقدامات محرک می شود.این تنظیمات مانع از داشتن وابستگی مستقیم به یکدیگر می شود و سیستم را انعطاف پذیر تر و آسان تر می کند.
مثال های Code Snippet
در زیر یک مثال ساده در جاوا اسکریپت وجود دارد:
class Mediator {
constructor() {
this.components = {};
}
register(componentName, component) {
this.components[componentName] = component;
component.setMediator(this);
}
notify(sender, event) {
if (sender === 'Button') {
this.components['TextBox'].update('Button clicked!');
}
}
}
class Button {
setMediator(mediator) {
this.mediator = mediator;
}
click() {
this.mediator.notify('Button', 'click');
}
}
class TextBox {
update(message) {
console.log('TextBox updated:', message);
}
}
const mediator = new Mediator();
const button = new Button();
const textBox = new TextBox();
mediator.register('Button', button);
mediator.register('TextBox', textBox);
button.click(); // Output: TextBox updated: Button clicked!
نتیجه گیری
پیاده سازی الگوی Mediator در سیستم های رویداد پیچیده کمک می کند تا وابستگی ها، بهبود مدولار بودن و حفظ سیستم را آسان تر کند.با متمرکز کردن ارتباطات، توسعه دهندگان می توانند برنامه های انعطاف پذیر تر و مقیاس پذیر تری ایجاد کنند که برای گسترش و اشکال زدایی آسان تر هستند.