وضع قالب
في وضع القالب (قالب نمط)، وفئة مجردة هي التي تحدد كيفية تنفيذ ذلك يكشف طريقة / القالب. تحتاج الفئات الفرعية لتجاوز الأسلوب يمكن تحقيقه، ولكن يسمى سيتم تحديد فئة مجردة. هذا النوع من أنماط التصميم تنتمي الأنماط السلوكية.
مقدمة
القصد: تحديد خوارزمية عملية هيكل عظمي، في حين أن تأجيل بعض الخطوات لفرعية.طريقة قالب يتيح فرعية من خوارزمية دون تغيير هيكل خطوة معينة من الخوارزمية يمكن إعادة تعريف.
الحل الرئيسي: بعض الطرق الشائعة، ولكن في كل فئة فرعية إعادة إرسال هذا النهج.
متى تستخدم: هناك بعض الطرق الشائعة.
كيفية حل: هذه الخوارزمية العامة المستخرجة.
رمز رئيسية: مجردة من الدرجة تنفذ الخطوات الأخرى في تنفيذ فئة فرعية.
أمثلة التطبيق: 1، عندما تكون في منزل بنيت، والمؤسسات، والأسلاك وأنابيب المياه هي نفسها، إلا في الجزء الأخير من المبنى لديها خزانة زائد زائد الأسوار الخلافات.2، رحلة إلى الغرب وضع بوذا جيد داخل 81 الصعب، وهذا هو الإطار المنطقي على مستوى عال. 3، Spirng في دعم السبات، بعض قدموا سيلة جيدة لتغليف هذه الصفقات المفتوحة، والحصول على الدورة، الدورة إغلاق والمبرمجين الآخرين وعدم تكرار تلك الكتابة بالفعل معايير كود جيدة، ورمي المباشر كيان يمكن انقاذه.
المزايا: 1، جزء من نفس الحزمة، تمديد جزء متغير.2، واستخراج رمز مشترك، من السهل الحفاظ عليها. 3، يتم التحكم في السلوك حسب الفئة الأصل، تنفيذ فرعية.
العيوب: كل من تطبيقات مختلفة تتطلب فئة فرعية لتحقيقه، مما أدى إلى زيادة في عدد الطبقات، وجعل النظام أكثر جوهرية.
سيناريوهات الاستخدام: 1، طريقة شائعة متعددة الفئة الفرعية، ونفس المنطق.2 يمكن اعتبار والأساليب الهامة والمعقدة كوسيلة القالب.
ملاحظة: لمنع الأعمال الخبيثة، إلى جانب أساليب قالب العامة هي الكلمات الرئيسية النهائية.
تحقيق
سوف نقوم بإنشاء فئة مجردة الإجراء المخصصلعبة،حيث يتم تعيين أسلوب القالب إلى المباراة النهائية، لذلك لن تكون الكتابة.لعبة الكريكيتوكرة القدملعبةهو امتداد للطبقة كيان، والذي يتجاوز فئة مجردة.
TemplatePatternDemo،ونحن لشرح استخدام فئةلعبةللتدليل على استخدام نمط القالب.
خطوة 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
تحقق من الانتاج.
لعبة الكريكيت مهيأ! بدء اللعب. لعبة الكريكيت كتبت. تتمتع اللعبة! لعبة الكريكيت لعبة منتهية! كرة القدم لعبة تهيئة! بدء اللعب. لعبة كرة القدم كتبت. تتمتع اللعبة! لعبة كرة القدم أنهى!