কাদের জন্যঃ Object-oriented programming language সম্পর্কে ধারণা আছে এমন মানুষ।
যা প্রয়োজনঃclass,inheritance,composition,JavaScript সম্পর্কে পূর্ব ধারণা।
Memento:এটি objects এর ভেতরের অবস্থা প্রকাশ করে দেয়। object এর পূর্বের অবস্থা পুনরুদ্ধারে এই design pattern এর ব্যবহার করা হয়। এটি Behavioral Design Pattern দলের। এর প্রধান অংশ হচ্ছে:
- Originator: যার ভেতরের অবস্থা আমাদের বিবেচনার বিষয়।
- Caretaker:যে Originator এর উপর কাজ করে;তার ভেতরের পরিবর্তনকে পূর্বের অবস্থায় নিয়ে যেতে চায়।
- Memento:এটি সাধারণ object; এর উপর Caretaker এর কোন প্রভাব নেই; নাম শুনেই বোঝা যাচ্ছে এটি অতীতের কোন জিনিস বা ঘটনাকে নির্দেশ করছে।
উদাহরণ:
//memento
class B{
constructor(c){this.c=c;}
getInt(){ return this.c;}
}
//originator
class A{
constructor(){}
set(a){this.a=a;}
store(){
var b=new B(this.a);
return b;
}
getB(k){
this.a=k.getInt();
document.write(this.a);
}
}
//caretaker
class Caretaker {
constructor(){this.s=[];}
add(item){
this.s.push(item);
}
getState(ind){
return this.s[ind];
}
}
var c=new Caretaker ();
var a=new A();
a.set(2);
c.add(a.store());
a.set(3);
c.add(a.store());
a.set(4);
c.add(a.store());
a.getB(c.getState(2));
কৃতজ্ঞতাঃ এই লেখা তৈরি করতে দরকারি তথ্য নেয়া হয়েছে Wikipedia, আকর বই "'Design Patterns:Elements Of Reusable Object-Oriented Software' by Eric Gamma,Richard Helm,Ralph Johnson and John Vlissides(Addisson-Wesley.1994)" ও আমার তৈরি করা নানা program থেকে।
মন্তব্য ও যোগাযোগঃ mrh4478@gmail.com
No comments:
Post a Comment