Structural Pattern
Class আর Object মিলে বড় structure কীভাবে বানায় — শিখে রাখো।
7টা পাঠ · একটার পর একটা পড়ো, বা সরাসরি যেটা দরকার সেটায় যাও।
Adapter Pattern: চল্লিশ টাকার প্লাগ যা পুরনো আর নতুন কোডকে মিলিয়ে দেয়
একটা সহজ ৩-পিন প্লাগ আর ২-পিন সকেটের গল্পের মাধ্যমে Adapter pattern শিখো। কোনো পক্ষ না বদলেই পুরনো কোডকে নতুন কোডের সাথে কাজ করাও।
Bridge Pattern: একটা রিমোট, অনেক ডিভাইস — subclass বিস্ফোরণ থামাও
টিভি আর রিমোটের গল্প দিয়ে Bridge pattern শেখো। একটা বড় class কে দুই ভাগে ভেঙে আলাদাভাবে বাড়াও — বাড়তি subclass-এর ঝামেলা আর নেই।
Composite Pattern: বাক্সের ভেতরে বাক্স — একটা জিনিস আর অনেক জিনিসকে একই চোখে দেখো
কুরিয়ারের পার্সেলে বাক্সের ভেতরে বাক্সের উদাহরণ দিয়ে Composite pattern শেখো। একটা আইটেম আর পুরো গ্রুপকে একই interface দিয়ে ট্রিট করো, আর সহজ recursion দিয়ে মোট হিসাব বের করো।
Decorator Pattern: Object-এ একটা একটা করে Layer চাপাও
চায়ের দোকানের এক মজার গল্প দিয়ে Decorator pattern শেখো। নতুন Subclass না বানিয়েই Runtime-এ Object-এ নতুন Behaviour যোগ করো — একটার পর একটা Layer Wrap করে।
Facade Pattern: একটা ফোন কলেই পুরো জটিল ট্রিপ বুক
ট্রাভেল এজেন্টের গল্প দিয়ে Facade pattern শেখো। অনেকগুলো জটিল subsystem-কে একটা সহজ method-এর পেছনে লুকিয়ে রাখো, যাতে client code ছোট আর পরিষ্কার থাকে।
Flyweight Pattern: একটা জার্সি ডিজাইন, পুরো দলের খেলোয়াড়
ক্রিকেট জার্সির গল্প দিয়ে Flyweight pattern শেখো। হাজার হাজার object-এর মধ্যে ভারী common data শেয়ার করো আর বিশাল পরিমাণ memory বাঁচাও।
Proxy Pattern: দারোয়ান যে মালিকের সাথে দেখা করার আগেই চেক করে
দারোয়ানের গল্প দিয়ে Proxy pattern শেখো। একটা real object-এর সামনে same interface-এর একটা stand-in রেখে সেই object-এ access নিয়ন্ত্রণ করো।