Wednesday, February 28, 2024

প্রক্সি

কাদের জন্যঃ Object-oriented programming language সম্পর্কে ধারণা আছে এমন মানুষ।

যা প্রয়োজনঃ class,inheritance,composition,JavaScript সম্পর্কে পূর্ব ধারণা।

Proxy: Proxy pattern এ সাধারণত একটি proxy object প্রতিস্থাপন করে আসল object কে। আসল object এ প্রবেশাধিকার নিয়ন্ত্রণের জন্য এমনটি করা হয়। এছাড়া কিছু বাড়তি functionality ও এটি যোগ করে আসল object টিতে। Client/User এই proxy object এর মাধ্যমে real object এর সাথে যোগাযোগ করে।

  • Remote proxy(আসল object যেটি অন্য এক address এ আছে তার local copy তৈরি করা)
  • Virtual proxy( object আকারে বড় হলে load করতে সমস্যা হতে পারে এজন্য তার minimum কিছু feature নিয়ে proxy object নিয়ন্ত্রণ করা)
  • Protection proxy( অন্য object a প্রবেশ নিয়ন্ত্রণ করা)
হচ্ছে Proxy pattern এর নানা ব্যবহার। উদাহরণে Proxy object এর show() method একটি নির্দিষ্ট digit এর উপর ভিত্তি করে Real object এর show() method দেখাচ্ছে নচেৎ একটি নির্দিষ্ট বার্তা দেখাচ্ছে।

উদাহরণঃ(script tags এর মাঝে নিচের কোড বসবে)

class Demo{
show(){}
}
class Real extends Demo{
constructor(a){super(a);}
static plain(a){return new Demo(0);}
static special (a){return new Demo(a);}
show(){
document. write("Demo...");
}
}
class Proxy extends Demo{
constructor(){super();}
static plain(a){return new Demo(0);}
static special (a){return new Demo(a);}
show(a){
if(a==3){
var r=new Real(a);
r.show();
}
else
{
document.write("Sorry!no demo.");
}
}
}
var p=new Proxy();
p.show (1);

চেষ্টা করা যাকঃ Message interface তৈরি করতে হবে যার RealMessage ও Proxy subclass থাকবে। Proxy'র show() method একটি string variable নিবে argument হিসেবে। যদি string variable আগে থেকে নির্দিষ্ট করে রাখা variable এর সাথে মিলে যায় তবে RealMessage এর বার্তা দেখাবে নচেৎ অন্য বার্তা দেখাবে।

কৃতজ্ঞতাঃ এই লেখা তৈরি করতে দরকারি তথ্য নেয়া হয়েছে 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