কাদের জন্যঃ Object-oriented programming language সম্পর্কে ধারণা আছে এমন মানুষ।
যা প্রয়োজনঃ class,inheritance,JavaScript সম্পর্কে পূর্ব ধারণা।
Template Methodঃএই pattern এ Superclass/Abstract class এ এমন একটি method থাকে যা তার কাজটি সম্পন্ন করে বেশ কয়েকটি ধাপে। ধাপগুলো শেষ করতে আবার অন্যান্য সাহায্যকারী Method এর দরকার হয়। এসব method কি করবে তা Abstract class এ ঠিক করা হয় নয়ত subclass এ ঠিক করা হয়। নাম শুনেই বোঝা যাচ্ছে এটি অনেকটা Template এর মত কাজ করে।এটি Behavioral design pattern এর দলে পরে।
উদাহরণের abstract class ABS এর show () হচ্ছে একটি Template method যেখানে greet(),des(),date() method গুলো একটি ছকে ধাপে ধাপে সাজানো আছে। এর মধ্যে des() ও date() এর কাজ ABS classএ ঠিক করে দেয়া আছে আর greet() method subclass অনুযায়ি পরিবর্তিত হবে। এখানে আমরা Imp subclass এর object তৈরি করে superclass এর Template method প্রয়োগ করেছি।
উদাহরণঃ(script tags এর মাঝে নিচের code বসবে)
class ABS{
constructor(f,l){this.f=f;
this.l=l;}
greet(){ document. write("respective greeting goes here!
");}
fname(){return this.f;}
lname(){ return this.l;}
des(){ document.writeln(this.fname()+" "+this.lname()+"
");}
date(){ document.writeln("February 16,2024
");}
show(){
this.greet();
this.des();
this.date();
}
}
class Imp extends ABS{
constructor (f,l){
super(f,l);
}
greet(){return "Hello,
";}
}
var a=new Imp("H","R");
a.det();
Date: …..
Dear/Hello Mr/Mrs ….,
How are you?Please pay your dues.
Thank you.
…
কৃতজ্ঞতাঃ এই লেখা তৈরি করতে দরকারি তথ্য নেয়া হয়েছে Wikipedia, আকর বই "'Design Patterns:Elements Of Reusable Object-Oriented Software' by Eric Gamma,Richard Helm,Ralph Johnson and John Vlissides(Addisson-Wesley.199এ" ও লেখকের তৈরি করা নানা program থেকে।
মন্তব্য ও যোগাযোগঃ mrh4478@gmail.com
No comments:
Post a Comment