التعريف: يستخدم لتقليل تعقيد التواصل بين كائنات متعددة والفئات. النمط الوسيط ينتمي إلى النمط السلوكي.
سمات:
1. تقليل تعقيد الفصل وتحويل واحد إلى واحد إلى واحد إلى واحد.
2. الفصل بين الطبقات المختلفة.
3. الامتثال لمبدأ Dimit.
التطبيقات في تطوير مستوى المؤسسة والأطر المشتركة: C في وضع MVC
أمثلة محددة:
demo class public {public static void main (string [] args) {mediator m = new midiator () ؛ قسم D1 = قسم جديد (M ، "قسم التطوير") ؛ قسم D2 = قسم جديد (M ، "Department") ؛ قسم D3 = قسم جديد (M ، "قسم التخطيط") ؛ M.Add (D1 ، "DEP") ؛ M.Add (D2 ، "Fin") ؛ M.Add (D3 ، "C") ؛ d2.apply ("هناك مشروع في متناول اليد" ، "DEP") ؛ D1.Apply ("مشروع التطوير يتطلب أموال" ، "FIN") ؛ D1.Apply ("تم تطوير المشروع ويجب التخطيط ونشر" ، "C") ؛ d3.apply ("المؤتمر الصحفي يتطلب أموال" ، "FIN") ؛ }} قسم الفئة {اسم السلسلة الخاصة ؛ الوسيط الخاص ؛ القسم العام (وسيط الوسيط ، اسم السلسلة) {this.name = name ؛ this.dediator = الوسيط ؛ } السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } تطبيق public void (سلسلة السلسلة ، إحداثي السلسلة) {system.out.println ("نحن"+this.getName ()+"،"+thing+"، بحاجة إلى مساعدة") ؛ الوسيط. } مقبض void العام (اسم السلسلة ، سلسلة السلسلة) {system.out.println ("نحن"+this.getName ()+"،"+name+"بحاجة إلى مساعدتنا ، وسنتعامل مع شؤونهم على الفور") ؛ System.out.println ("****************************************************************************************************************************** ******************************************************************************************************* *********************************************************************************************************** ******************************************************************************************************* *********************************************************************************************************** ******************************************************************************************************* *********************************************************************************************************** ******************************************************************************************************* *الكائن الوسيط ، ويحمل جميع كائنات الزميل ، وهو مسؤول عن جدولة أعمال التنسيق من مختلف الأقسام*/class misdiator {private string name ؛ الخريطة الخاصة <string ، department> map = new hashmap <string ، department> () ؛ public void add (Department D ، اسم السلسلة) {this.map.put (name ، d) ؛ } إرسال باطل عام (قسم DPT ، سلسلة السلسلة ، تنسيق السلسلة) {department d = map.get (CONSTRINGINE) ؛ D.Handle (dpt.getName () ، الشيء) ؛ }}الفرق بين الوضع الوسيط ووضع الوكيل: عندما سمعت لأول مرة عن أنماط هذين الوضعين ، شعرت أن هذين الوضعان يبدوا هما نفس الوضع ، لكن هذين الوضعان كانا مختلفان تمامًا. تم استخدام وضع الوكيل بشكل أساسي لإخفاء الكائنات الفعلية ومنع الآخرين من معرفة تفاصيل التشغيل المحددة. تم استخدام الوضع الوسيط بشكل أساسي في التفاعلات المعقدة للكائنات المتعددة مع كائنات متعددة. من أجل تبسيط هذه التفاعلات ، تم العثور على وضع Terminator.