Latest web development tutorials

نموذج سيط

ويستخدم نموذج الوسيط (الوسيط نمط) للحد من تعقيد الاتصالات بين عدد وافر من الأشياء والطبقات. يوفر هذا النموذج فئة وسيطة، الذي يعالج عادة الاتصالات بين الطبقات المختلفة، وتقديم الدعم لالمتباعدة، مما يجعل رمز أسهل للمحافظة عليه. أنماط الوسيط تنتمي الأنماط السلوكية.

مقدمة

القصد: استخدام كائن وسيط بتغليف مجموعة من الكائنات تتفاعل الأجسام حفظ الوسيطة عن الإشارة إلى بعضها البعض بشكل واضح، مما يجعل اقتران فضفاض، ويمكن أن تتغير بشكل مستقل التفاعل بينهما.

في المقام الأول إلى حل: هناك الكثير من الأشياء والعلاقات بين الأشياء، وهذا سيؤدي حتما إلى هيكل النظام يصبح معقدا للغاية، ولكن إذا تم تغيير كائن، ونحن أيضا بحاجة إلى تتبع الأشياء المرتبطة به، وجعل العلاج المناسب .

متى تستخدم: فئات متعددة إلى جانب بعضها البعض، وتشكيل هيكل الشبكة.

كيفية إصلاح: يتم فصل هيكل الشبكة المذكور أعلاه في بنية نجوم.

رمز مفتاح: التواصل بين الزميل الكائنات تغليف فئة على حدة.

أمثلة التطبيق: 1، قبل انضمام الصين إلى منظمة التجارة العالمية هو مختلف البلدان تجارة مع بعضها، بنية معقدة أخرى، بل هو من قبل دول منظمة التجارة العالمية على التجارة مع بعضها البعض.2، مطار نظام الجدولة. 3، إطار MVC، حيث C (وحدة تحكم) هو M (نموذج) والخامس (عرض) الوسيط.

المزايا: 1، والحد من تعقيد الطبقة سيتم تحويلها إلى واحد لكثير.2، كل فصل بين الطبقات. 3، وذلك تمشيا مع مبادئ ديميتر.

العيوب: وسيط كبير وسوف تصبح معقدة وصعبة للحفاظ على.

سيناريوهات الاستخدام: 1 موجود بين الكائنات في نظام العلاقة إشارة أكثر تعقيدا، مما يؤدي إلى الاعتماد بينهم مربكة وصعبة لإعادة بنية الكائن.2، تريد الطبقة الوسطى التي بتغليف سلوك فئات متعددة، ولا تريد أن تولد الكثير من الفئات الفرعية.

ملاحظة: يجب أن لا يتم استخدامها عند الخلط المسؤولية.

تحقيق

دعونا المشي من خلال المثال قاعات نموذجية دردشة وسيط. سبيل المثال، يمكن لعدة مستخدمين إرسال رسائل إلى غرف الدردشة، وغرف الدردشة، يتم عرض رسالة لجميع المستخدمين. سوف نقوم بإنشاء فئتينغرف الدردشةوالعضو. كائناتالمستخدمطرقغرف الدردشةلتبادل أخبارهم.

MediatorPatternDemo،ونحن لشرح استخدام كائن فئةالمستخدملعرض الاتصالات بينهما.

نمط الوسيط UML الرسم البياني

خطوة 1

إنشاء فئة وسيطة.

ChatRoom.java

استيراد java.util.Date.

فئة العمومي غرف الدردشة {
   العام showMessage خالية ثابت (المستخدم المستخدم، رسالة سلسلة) {
      System.out.println (التسجيل الجديد (). ToString ()
         + "[" + User.getName () + "]:" رسالة +)؛
   }
}

خطوة 2

إنشاء فئة المستخدم.

User.java

فئة العمومي العضو {
   اسم سلسلة الخاص؛

   جمهور سلسلة getName () {
      العودة الاسم؛
   }

   setName باطلة العامة (اسم سلسلة) {
      this.name = الاسم؛
   }

   العضو العام (اسم سلسلة) {
      this.name = الاسم؛
   }

   sendMessage باطلة العامة (رسالة سلسلة) {
      ChatRoom.showMessage (هذا، رسالة)؛
   }
}

خطوة 3

استخدام الكائنالعضولعرض الاتصالات بينهما.

MediatorPatternDemo.java

الطبقة العامة MediatorPatternDemo {
   (وسائط سلسلة []) العامة ساكنة باطلة الرئيسية {
      العضو روبرت = العضو الجديد ( "روبرت")؛
      العضو جون = العضو الجديد ( "جون")؛

      robert.sendMessage ( "مرحبا جون !!")؛
      john.sendMessage ( "مرحبا روبرت !!")؛
   }
}

خطوة 4

تحقق من الانتاج.

الخميس 31 يناير 16:05:46 IST 2013 [روبرت]:! مرحبا جون!
الخميس 31 يناير 16:05:46 IST 2013 [جون]:! مرحبا روبرت!