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