Latest web development tutorials

نمط واجهة

نمط واجهة (واجهة نمط) يخفي تعقيد النظام إلى العميل ويوفر العميل يمكن الوصول إلى واجهة النظام. هذا النوع من أنماط التصميم تنتمي النموذج الهيكلي، فإنه يضيف واجهة لنظام القائمة، لإخفاء تعقيد النظام.

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

مقدمة

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

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

متى تستخدم: 1، لا يحتاج العميل لمعرفة النظام داخل الصلات المعقدة، النظام بأكمله يحتاج توفر سوى "موظف استقبال" يمكن أن يكون.2، ومدخل تحديد النظام.

كيفية إصلاح: لا يقترن العميل مع النظام، والنظام بالإضافة إلى ظهور الطبقة.

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

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

المزايا: 1، للحد من نظام مترابطة.2، وزيادة المرونة. 3، لتحسين الوضع الأمني.

العيوب: لا تتوافق مع مبدأ الافتتاح والختام، إذا كنت ترغب في تغيير الأمور الكثير من المتاعب، والميراث كتابة غير ملائمة.

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

ملاحظة: في بنية هرمية، يمكنك استخدام النظام لتعريف مظهر من وضع الإدخال لكل طبقة.

تحقيق

سنقوم إنشاء واجهةالشكلوتنفيذ واجهةالشكلالطبقات الكيان. الخطوة التالية هي تحديدShapeMakerالطبقةالجلدية.

تستخدم الطبقةShapeMakerفئة كيان لتمثيل المكالمات المستخدم لهذه الفئات.FacadePatternDemo، والطبقاتمظاهرة لدينا باستخدام الدرجةShapeMakerلعرض النتائج.

نمط واجهة UML الرسم البياني

خطوة 1

إنشاء واجهة.

Shape.java

الواجهة العمومية الشكل {
   تعادل باطل ()؛
}

خطوة 2

إنشاء فئة الجهة التي تطبق الواجهة.

Rectangle.java

الطبقة العامة مستطيل الشكل تنفذ {

   Override
   تعادل باطلة العامة () {
      System.out.println ( "مستطيل :: التعادل ()")؛
   }
}

Square.java

ساحة الطبقة العامة تنفذ الشكل {

   Override
   تعادل باطلة العامة () {
      System.out.println ( "ساحة :: التعادل ()")؛
   }
}

Circle.java

دائرة الطبقة العامة تنفذ الشكل {

   Override
   تعادل باطلة العامة () {
      System.out.println ( "دائرة :: التعادل ()")؛
   }
}

خطوة 3

خلق مظهر الطبقة.

ShapeMaker.java

الطبقة العامة ShapeMaker {
   دائرة الشكل الخاص؛
   مستطيل الشكل الخاص؛
   مربع الشكل الخاص؛

   ShapeMaker العام () {
      دائرة = الدائرة جديد ()؛
      المستطيل = المستطيل الجديد ()؛
      ميدان = ميدان جديد ()؛
   }

   drawCircle باطلة العامة () {
      circle.draw ()؛
   }
   باطلا drawRectangle العام () {
      rectangle.draw ()؛
   }
   الفراغ drawSquare الجمهور () {
      square.draw ()؛
   }
}

خطوة 4

استخدام أنواع مختلفة من الطبقة الجلدية لرسم الشكل.

FacadePatternDemo.java

الطبقة العامة FacadePatternDemo {
   (وسائط سلسلة []) العامة ساكنة باطلة الرئيسية {
      ShapeMaker shapeMaker = ShapeMaker جديد ()؛

      shapeMaker.drawCircle ()؛
      shapeMaker.drawRectangle ()؛
      shapeMaker.drawSquare ()؛		
   }
}

خطوة 5

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

دائرة :: التعادل ()
المستطيل :: التعادل ()
مربع :: التعادل ()