คืออะไร การฉีด Dependency
รูปแบบการส่งผ่าน dependencies จากภายนอก
การฉีด Dependency (DI) คือรูปแบบการออกแบบที่ object รับ dependencies จากแหล่งภายนอกแทนที่จะสร้างเอง
ประเภทของการฉีด
- Constructor Injection — ผ่าน constructor
- Setter Injection — ผ่าน setter methods
- Interface Injection — ผ่าน interface
- Property Injection — ผ่าน public properties
ประโยชน์
- Loose Coupling — ส่วนประกอบเปลี่ยนได้ง่าย
- ความสามารถในการทดสอบ — ง่ายต่อการแทนที่ mocks และ stubs
- ความยืดหยุ่น — พฤติกรรมถูกกำหนดจากภายนอก
- การนำกลับมาใช้ใหม่ — โค้ดเป็นโมดูลมากขึ้น
- สถาปัตยกรรมสะอาด — การกลับด้านของ dependency
DI Containers ที่นิยม
- Spring (Java)
- .NET Core DI (C#)
- InversifyJS (TypeScript)
- Dagger (Android)
- Angular DI