Latest web development tutorials

وضع قالب

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

مقدمة

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

الحل الرئيسي: بعض الطرق الشائعة، ولكن في كل فئة فرعية إعادة إرسال هذا النهج.

متى تستخدم: هناك بعض الطرق الشائعة.

كيفية حل: هذه الخوارزمية العامة المستخرجة.

رمز رئيسية: مجردة من الدرجة تنفذ الخطوات الأخرى في تنفيذ فئة فرعية.

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

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

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

سيناريوهات الاستخدام: 1، طريقة شائعة متعددة الفئة الفرعية، ونفس المنطق.2 يمكن اعتبار والأساليب الهامة والمعقدة كوسيلة القالب.

ملاحظة: لمنع الأعمال الخبيثة، إلى جانب أساليب قالب العامة هي الكلمات الرئيسية النهائية.

تحقيق

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

TemplatePatternDemo،ونحن لشرح استخدام فئةلعبةللتدليل على استخدام نمط القالب.

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

خطوة 1

إنشاء فئة مجردة، يتم تعيين طريقة القالب إلى المباراة النهائية.

Game.java

فئة مجردة العامة لعبة {
   مجردة الفراغ تهيئة ()؛
   ملخص الفراغ startPlay ()؛
   ملخص الفراغ endPlay ()؛

   // قالب العام مسرحية باطلة النهائي () {

      // تهيئة اللعبة تهيئة ()؛

      // بدء اللعبة startPlay ()؛

      // لعبة النهاية endPlay ()؛
   }
}

خطوة 2

إنشاء تمتد الطبقات كيان فوق الطبقة.

Cricket.java

الطبقة العامة للكريكيت يمتد لعبة {

   Override
   الفراغ endPlay () {
      System.out.println ( "لعبة الكريكيت منتهية!")؛
   }

   Override
   تهيئة باطل () {
      System.out.println ( "! لعبة الكريكيت تهيئة بدء اللعب.")؛
   }

   Override
   الفراغ startPlay () {
      System.out.println ( "لعبة الكريكيت كتبت تتمتع اللعبة.!")؛
   }
}

Football.java

فئة العمومي لكرة القدم تمتد لعبة {

   Override
   الفراغ endPlay () {
      System.out.println ( "لعبة كرة القدم انتهى!")؛
   }

   Override
   تهيئة باطل () {
      System.out.println ( "! لكرة القدم لعبة تهيئة بدء اللعب.")؛
   }

   Override
   الفراغ startPlay () {
      System.out.println ( "لعبة كرة القدم كتبت تتمتع اللعبة.!")؛
   }
}

خطوة 3

يتم تعريفاللعبةباستخدام اللعب طريقة قالب () للتدليل على اللعبة.

TemplatePatternDemo.java

الطبقة العامة TemplatePatternDemo {
   (وسائط سلسلة []) العامة ساكنة باطلة الرئيسية {

      لعبة لعبة الكريكيت = جديد ()؛
      game.play ()؛
      System.out.println ()؛
      لعبة كرة القدم = الجديدة ()؛
      game.play ()؛		
   }
}

خطوة 4

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

لعبة الكريكيت مهيأ! بدء اللعب.
لعبة الكريكيت كتبت. تتمتع اللعبة!
لعبة الكريكيت لعبة منتهية!

كرة القدم لعبة تهيئة! بدء اللعب.
لعبة كرة القدم كتبت. تتمتع اللعبة!
لعبة كرة القدم أنهى!