Latest web development tutorials

وضع جسر

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

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

نحن من الأمثلة التالية للتدليل على استخدام وضع الجسر (جسر نمط). والتي يمكنك استخدام نفس الأسلوب ولكن فئات مجردة مختلفة سد الطبقة تنفيذ لرسم الدوائر من ألوان مختلفة.

مقدمة

القصد: فكرة مجردة وتنفيذ جزء من الفصل، بحيث أنها يمكن أن تختلف بشكل مستقل.

الحل الرئيسي: في مجموعة متنوعة من الظروف يمكن ان تتغير، يمكن وراثة فئة يسبب الانفجار، فإنه ليس التوسع مرونة.

متى تستخدم: قد يكون تطبيق نظام تصنيف زوايا متعددة، قد تتغير كل زاوية.

كيفية إصلاح: وضع فصل هذا التصنيف متعدد الزوايا، بحيث تكون مستقلة من التغييرات، والحد من اقتران بينهما.

رمز مفتاح: تطبيق فئة مجردة الطبقة التابعة.

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

المزايا: 1، مجردة، وتحقيق الانفصال.2، قابلية ممتازة. 3، تفاصيل تنفيذ شفافة إلى العميل.

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

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

ملاحظة: لتغيير بعدين مستقلة، وذلك باستخدام وضع جسر من السهل القيام به.

تحقيق

لدينا كجسر اجهةDrawAPIوتنفيذهاRedCircleDrawAPI الطبقة كيانواجهة،GreenCircle.الشكلهو فئة مجردة، الكائن استخدامDrawAPI.BridgePatternDemo، واستخدام الطبقات مظاهرة لديناطبقة الشكللرسم الدوائر من ألوان مختلفة.

وضع جسر UML الرسم البياني

خطوة 1

إنشاء الجسر الذي تطبق الواجهة.

DrawAPI.java

الواجهة العمومية DrawAPI {
   drawCircle العام باطلة (الباحث دائرة نصف قطرها، الباحث العاشر، الباحث ذ)؛
}

خطوة 2

إنشاء كيان تنفيذ سد تنفيذDrawAPIمن فئة واجهة.

RedCircle.java

الطبقة العامة RedCircle تنفذ DrawAPI {
   Override
   drawCircle العام باطلة (الباحث دائرة نصف قطرها، الباحث العاشر، الباحث ذ) {
      System.out.println ( "رسم دائرة [اللون: الأحمر، دائرة نصف قطرها:"
         + الشعاع + "، والعاشر:" + س + "،" + ص + "]")؛
   }
}

GreenCircle.java

الطبقة العامة GreenCircle تنفذ DrawAPI {
   Override
   drawCircle العام باطلة (الباحث دائرة نصف قطرها، الباحث العاشر، الباحث ذ) {
      System.out.println ( "رسم دائرة [اللون: الأخضر، نصف قطرها:"
         + الشعاع + "، والعاشر:" + س + "،" + ص + "]")؛
   }
}

خطوة 3

DrawAPIاستخدام واجهة لإنشاء دراسيالشكل المجرد.

Shape.java

فئة مجردة العامة الشكل {
   محمية DrawAPI drawAPI.
   محمي الشكل (DrawAPI drawAPI) {
      this.drawAPI = drawAPI.
   }
   العام التعادل الفراغ المجرد ()؛	
}

خطوة 4

إنشاء فئة كيان تنفذواجهة الشكل.

Circle.java

دائرة الطبقة العامة ويمتد الشكل {
   كثافة العمليات الخاصة س، ص، دائرة نصف قطرها.

   الدائرة العامة (الباحث العاشر، الباحث ذ، الباحث دائرة نصف قطرها، DrawAPI drawAPI) {
      السوبر (drawAPI)؛
      this.x = س.  
      this.y = ذ.  
      this.radius = نصف قطرها.
   }

   تعادل باطلة العامة () {
      drawAPI.drawCircle (دائرة نصف قطرها، س، ص).
   }
}

خطوة 5

باستخدام فئةالشكلوDrawAPI رسم الدوائر من ألوان مختلفة.

BridgePatternDemo.java

الطبقة العامة BridgePatternDemo {
   (وسائط سلسلة []) العامة ساكنة باطلة الرئيسية {
      تشكيل redCircle = الدائرة الجديد (100،100، 10، RedCircle الجديدة ())؛
      تشكيل greenCircle = الدائرة الجديد (100،100، 10، GreenCircle الجديدة ())؛

      redCircle.draw ()؛
      greenCircle.draw ()؛
   }
}

خطوة 6

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

رسم دائرة [اللون: الأحمر، دائرة نصف قطرها: 10، س: 100، 100]
رسم دائرة [اللون: الأخضر، نصف قطرها: 10، س: 100، 100]