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