"'Design Patterns:Elements Of Reusable Object-Oriented Software'"( by Eric Gamma,Richard Helm,Ralph Johnson and John Vlissides) বইয়ে যে ২৩ টি Patterns এর কথা উল্লেখ করা হয়েছিল তার সবই এখানে সহজ ভাষায় তুলে ধরার চেষ্টা করা হয়েছে।এর বাইরেও আরো উল্লেখ করার মত Patterns রয়েছে তবে আলোচনা আর লম্বা না করে এখানেই ইতি টানতে হচ্ছে। প্রয়োজনে পরে এদের কয়েকটি নিয়ে আলোচনা হতে পারে।
Patterns এর উদ্দেশ্য বা Goal এর উপর নির্ভর করে এদের তিন ভাগে ভাগ করা হয়েছে। Creational Patterns মূলতঃ objects/ class instance গঠন প্রক্রিয়া নিয়ে কাজ করে থাকে। Structural Patterns মূলতঃ class /objectএর গঠনকে কিভাবে সাজানো হবে/Composition সে বিষয়ে আলোকপাত করে। আর Behavioral Patterns মূলতঃ বিভিন্ন objects নিজেদের মধ্যে কিভাবে যোগাযোগ করবে আর তাদের মধ্যে দায়িত্ব/কাজ/behavior কিভাবে বন্টন করা হবে সে বিষয়টি ব্যাখ্যা করে।
(আরো জানতে Patternটির উপর ক্লিক করুন)
Creational | Structural | Behavioral |
---|---|---|
ফ্যাক্টরি মেথড, আ্যবস্ট্রাক্ট ফ্যাক্টরি, বিল্ডার, প্রোটোটাইপ, সিঙ্গলটন |
এডাপ্টার, ব্রিজ, কম্পোজিট, ডেকোরেটর, ফাসাদ , প্রক্সি |
ইন্টারপ্রেটার, টেমপ্লেট মেথড, চেইন অব রেসপন্সেবিলিটি, কমান্ড, আইটেরটর, মেডিয়েটর, মেমেন্টো, ফ্লাইওয়েট, অবজার্ভার, স্টেট, স্ট্র্যাটেজি, ভিজিটর |
আবার Patterns এর ব্যাপ্তি/প্রভাব(Scope) অনুযায়ি এদের দু'দলে ভাগ করা যায়: Patterns এর প্রয়োগ কি class এর উপর নাকি object এর উপর। Class Patterns মূলতঃ কাজ করে থাকে Class ও Subclass এর মধ্যকার সম্পর্ক নিয়ে যেটি হয়ে থাকে inheritance (ভবিষ্যতে আলোচনা করা হবে) এর মাধ্যমে। এ সম্পর্ক অপরিবর্তনীয়। আর Object Patterns মূলতঃ objects এর সম্পর্ক নিয়ে কাজ করে থাকে যা run timeএ আবার পরিবর্তন করা যায়।
কৃতজ্ঞতাঃ এই লেখা তৈরি করতে দরকারি তথ্য নেয়া হয়েছে 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