يتم تعريف نمط طريقة القالب على النحو التالي:
يتم تعريف هيكل عظمي أو خطوة من الخوارزمية بطريقة ما ، ويتأخر بعض الخطوات إلى فئات فرعية للتنفيذ. تتيح طريقة القالب الفئات الفرعية إعادة تعريف بعض الخطوات في الخوارزمية دون تغيير بنية الخوارزمية.
تحدد طريقة القالب تسلسل عملية التشغيل في الفئة الأساسية ، والتي يمكن أن تضمن تنفيذ الخطوات بالتسلسل. تم الإعلان عن بعض التطبيقات المحددة لبعض الخطوات في الفئة الأساسية ، ويتم تسليم التطبيقات المحددة لبعض الخطوات المتغيرة إلى الفئة الفرعية لتنفيذها ، وبالتالي تأخير بعض الخطوات في الفئة الفرعية. واحدة من أكبر فوائد طريقة القالب هي أنه يمكن تعيين عملية تجارية ليتم تنفيذها بترتيب صارم معين ، والتحكم في خطوات تنفيذ الخوارزمية بأكملها.
تحدد هذه الطريقة الخوارزمية إلى مجموعة من الخطوات ، حيث يتم تعريف جميع الخطوات التي تريد أن تؤدي الفئة الفرعية تنفيذ مخصص على أنها طرق مجردة. تتمثل سمة فئات الأساس المجردة في أن طريقة القالب يتم تعيينها بشكل عام على النهائي ، مما يمنع الفئة الفرعية من الكتابة فوق خطوات الخوارزمية ، وتنفيذ بعض العمليات نفسها أو الخطوات مباشرة في الفئة الأساسية ، وتحديد بعض الخطوات المتغيرة إلى الملخص والفئة الفرعية لإكمالها.
مثال تنفيذ Java
مخطط الفصل:
/ *** قالب عملية الأعمال ، وتوفير الإطار الأساسي*/ public public class baseTemplate {public Abstract void part1 () ؛ part2 part2 () المجردة المجردة العامة ؛ part3 part3 (). // من أجل النتائج التجريبية الصارمة ، لا يمكن إعادة كتابة النهائي باستخدام الفراغ النهائي UsetemplateMethod () {part1 () ؛ part2 () ؛ part3 () ؛ }} / ** * طريقة تنفيذ القالب 1 */ الفئة العامة TemplateMethod يمتد BaseTemplate {Override public void part1 () {system.out.println ("طريقة القالب 1") ؛ } Override public void part2 () {system.out.println ("template method 2") ؛ } Override public void part3 () {system.out.println ("template method 3") ؛ }} / ** * طريقة تنفيذ القالب 2 * Author Stone * */ الفئة العامة TemplateMethod2 يمتد basetemplate {Override public void part1 () {system.out.println ("طريقة القالب 11") ؛ } Override public void part2 () {system.out.println ("template method 22") ؛ } Override public void part3 () {system.out.println ("طريقة القالب 33") ؛ }} اختبار الفئة العامة {public static void main (string [] args) {basetemplate tm = new templatemethod () ؛ TM.USETEMPHTEMETHOD () ؛ System.out.println ("") ؛ basetemplate tm2 = new templatemethod2 () ؛ TM2.USETEMPHTEMETHOD () ؛ }}مطبعة:
طريقة القالب 1 طريقة القالب 2 طريقة القالب 3 طريقة القالب 11 طريقة القالب 22 طريقة القالب 33