ডিপেন্ডেন্সি ইনজেকশন (DI) হল একটি প্যাটার্ন যেখানে একটি অবজেক্ট তার ডিপেন্ডেন্সি বাইরে থেকে পায় (ইনজেক্ট করা) নিজে তৈরি করার পরিবর্তে। এটি লুজ কাপলিং, টেস্টেবিলিটি এবং ফ্লেক্সিবিলিটি প্রচার করে — একটি মৌলিক, ব্যাপকভাবে ব্যবহৃত প্যাটার্ন আধুনিক সফটওয়্যারে।
ডিপেন্ডেন্সি ইনজেকশন কি
WITHOUT DI → a class CREATES its own dependencies (tightly coupled):
class OrderService { constructor() { this.db = new Database(); } } // hardcoded dependency
WITH DI → dependencies are PROVIDED (injected) from outside:
class OrderService { constructor(db) { this.db = db; } } // db is injected
→ the object doesn't create/control its dependencies → they're given to it
