নকশা নিদর্শন
সৃজনশীল ডিজাইনের প্যাটার্নস
সিঙ্গেলটন - নিশ্চিত করুন যে শ্রেণীর কেবলমাত্র একটি উদাহরণ তৈরি হয়েছে এবং বস্তুকে বিশ্বব্যাপী অ্যাক্সেস পয়েন্ট সরবরাহ করুন।
কারখানা (কারখানার পদ্ধতির সরলীকৃত সংস্করণ) - ক্লায়েন্টের কাছে ইনস্ট্যান্টেশন যুক্তিটি প্রকাশ না করে এবং একটি সাধারণ ইন্টারফেসের মাধ্যমে সদ্য নির্মিত বস্তুকে বোঝায় অবজেক্ট তৈরি করে।
কারখানার পদ্ধতি - অবজেক্ট তৈরির জন্য একটি ইন্টারফেস সংজ্ঞায়িত করে, তবে সাব-ক্লাসগুলি একটি সাধারণ ইন্টারফেসের মাধ্যমে নতুন শ্রেণীর তৈরি হওয়া অবজেক্টটি কোন শ্রেণীর ইনস্ট্যান্ট করতে হবে এবং তা বোঝা উচিত to
অ্যাবস্ট্রাক্ট ফ্যাক্টরি - তাদের ক্লাসগুলি স্পষ্টভাবে উল্লেখ না করে সম্পর্কিত অবজেক্টগুলির পরিবার তৈরির জন্য ইন্টারফেস সরবরাহ করে।
নির্মাতা - কোনও অবজেক্ট তৈরির জন্য একটি উদাহরণ সংজ্ঞায়িত করে তবে কোন শ্রেণিটি ইনস্ট্যান্ট করতে হবে তা সাবক্লাসগুলি নির্ধারণ করতে দেয় এবং নির্মাণের প্রক্রিয়াটির উপর একটি সূক্ষ্ম নিয়ন্ত্রণের অনুমতি দেয়।
প্রোটোটাইপ - প্রোটোটাইপিকাল দৃষ্টান্ত ব্যবহার করে তৈরি করতে বিভিন্ন ধরণের অবজেক্ট নির্দিষ্ট করুন এবং এই প্রোটোটাইপটি অনুলিপি করে নতুন অবজেক্ট তৈরি করুন।
আচরণের নকশার ধরণগুলি
দায়সিবিলির চেইন - এটি অনুরোধ প্রেরককে এটির গ্রহণকারীর সাথে সংযুক্ত হওয়া এড়িয়ে যায়, অন্য উপায়কে অনুরোধটি পরিচালনা করার সম্ভাবনা দেয়। - অবজেক্টগুলি একটি শৃঙ্খলার অংশ হয়ে যায় এবং অনুরোধটি একটি অবজেক্ট থেকে অন্য অবজেক্টে চেইন জুড়ে প্রেরণ করা হয় যতক্ষণ না কোনও বস্তু এটি পরিচালনা করে না।
কমান্ড - একটি বস্তুতে একটি অনুরোধ encapsulate, বিভিন্ন অনুরোধ সঙ্গে ক্লায়েন্টদের প্যারামিটারাইজেশন অনুমতি দেয় এবং একটি সারিতে অনুরোধগুলি সংরক্ষণ করার অনুমতি দেয়।
দোভাষী - একটি ভাষা দেওয়া, তার ব্যাকরণের সাথে একটি অনুবাদকের পাশাপাশি একটি অনুবাদকের সাথে সংজ্ঞায়িত করুন যা ভাষায় বাক্যগুলি ব্যাখ্যার জন্য প্রতিনিধিত্ব ব্যবহার করে / একটি ভাষার ক্ষেত্রে একটি ডোমেন মানচিত্র, একটি ব্যাকরণের ভাষা, এবং ব্যাকরণকে একটি শ্রেণিবিন্যাসিক বস্তু-ভিত্তিক নকশায় রূপান্তর করে
আইট্রেটার - একটি অন্তর্নিহিত উপস্থাপনাটি প্রকাশ না করে ক্রমান্বয়ে সামগ্রিক সামগ্রীর উপাদানগুলিতে অ্যাক্সেসের একটি উপায় সরবরাহ করুন।
মধ্যস্থতাকারী - কোনও বস্তুর সংজ্ঞা দেয় যা কোনও বস্তুর সেট কীভাবে ইন্টারঅ্যাক্ট করে enc মধ্যস্থতাকারী একে অপরের সাথে স্পষ্টভাবে উল্লেখ না করে আলগা সংযোগকে উত্সাহ দেয় এবং এটি আপনাকে তাদের মিথস্ক্রিয়া স্বাধীনভাবে পরিবর্তিত করতে দেয়।
পর্যবেক্ষক - অবজেক্টের মধ্যে একের মধ্যে একাধিক নির্ভরতা সংজ্ঞায়িত করুন যাতে যখন কোনও বস্তুর স্থিতি পরিবর্তন হয়, তখন এর সমস্ত নির্ভরশীলরা স্বয়ংক্রিয়ভাবে অবহিত এবং আপডেট হয়।
কৌশল - অ্যালগরিদমগুলির একটি পরিবারকে সংজ্ঞায়িত করুন, প্রত্যেককে আবদ্ধ করুন এবং তাদেরকে বিনিময়যোগ্য করুন। কৌশলটি এটিকে ব্যবহার করে এমন ক্লায়েন্টদের থেকে অ্যালগরিদম স্বতন্ত্রভাবে পরিবর্তিত হতে দেয়।
টেমপ্লেট পদ্ধতি - একটি ক্রিয়াকলাপে একটি অ্যালগরিদমের কঙ্কাল সংজ্ঞায়িত করুন, সাবক্লাস / টেম্পলেট পদ্ধতিতে কিছু পদক্ষেপ স্থগিত করে উপক্লাসগুলি অ্যালগোরিদমের কাঠামো পরিবর্তন না করেই একটি অ্যালগরিদমের কয়েকটি ধাপ পুনরায় সংজ্ঞায়িত করতে দেয়।
ভিজিটর - কোনও অবজেক্ট স্ট্রাকচারের উপাদানগুলিতে সঞ্চালনের জন্য একটি অপারেশনকে প্রতিনিধিত্ব করে / ভিজিটর আপনাকে যে উপাদানগুলির উপর চালিত হয় তাদের ক্লাসগুলি পরিবর্তন না করেই আপনাকে একটি নতুন ক্রিয়াকলাপ সংজ্ঞায়িত করতে দেয়।
নাল অবজেক্ট - প্রদত্ত প্রকারের কোনও অবজেক্টের অভাবের জন্য একটি অবজেক্টকে সারোগেট হিসাবে সরবরাহ করুন। / নাল অবজেক্ট প্যাটার্নটি তার সহযোগীদের কাছ থেকে বিশদ গোপন করে বুদ্ধিমান কিছুই করার আচরণ করে না।
স্ট্রাকচারাল ডিজাইনের প্যাটার্নস
অ্যাডাপ্টার - ক্লাসের ইন্টারফেসটি অন্য ইন্টারফেসের ক্লায়েন্টদের প্রত্যাশায় রূপান্তর করুন। / অ্যাডাপ্টার ক্লাসগুলি একসাথে কাজ করতে দেয় যা অন্যথায় বেমানান ইন্টারফেসের কারণে পারে না।
ব্রিজ - অংশ-পুরো স্তরের শ্রেণিবিন্যাস উপস্থাপনের জন্য গাছের কাঠামোগুলিতে বস্তু রচনা করুন। / কম্পোজিট ক্লায়েন্টদের স্বতন্ত্র বস্তু এবং অবজেক্টগুলির রচনাগুলি সমানভাবে আচরণ করতে দেয়।
সংমিশ্রণ - অংশ-পুরো শ্রেণিবিন্যাস উপস্থাপনের জন্য গাছের কাঠামোর মধ্যে অবজেক্টগুলি রচনা করুন। / কম্পোজিট ক্লায়েন্টদের স্বতন্ত্র বস্তু এবং অবজেক্টগুলির রচনাগুলি সমানভাবে আচরণ করতে দেয়।
সাজসজ্জার - একটি বস্তুর গতিশীল অতিরিক্ত দায়িত্ব যুক্ত করুন।
ফ্লাইওয়েট - বড় বড় সংখ্যক অবজেক্টের সমর্থন করার জন্য ভাগ করে নিন যা তাদের অভ্যন্তরীণ রাজ্যের অংশ সাধারণ যেখানে রাজ্যের অন্যান্য অংশে পৃথক হতে পারে support
মেমেন্টো - এনক্যাপসুলেশন লঙ্ঘন না করে কোনও বস্তুর অভ্যন্তরীণ পরিস্থিতি ক্যাপচার করুন এবং প্রয়োজনের সময় বস্তুকে প্রাথমিক অবস্থায় পুনরুদ্ধারের জন্য একটি উপায় সরবরাহ করুন।
প্রক্সি - এটিতে রেফারেন্সগুলি নিয়ন্ত্রণ করার জন্য একটি "স্থানধারক" সরবরাহ করুন।