Nedir Inversion of Control
Mimaride kontrol tersine çevirme
Inversion of Control (IoC), program akışının kontrolünün uygulama kodundan harici bir framework veya container'a aktarıldığı bir tasarım prensibidir.
Ana IoC Kalıpları
- Dependency Injection (DI) — constructor, setter veya interface aracılığıyla bağımlılık enjeksiyonu
- Service Locator — merkezi servis kayıt defteri
- Factory Pattern — factory'ler aracılığıyla nesne oluşturma
- Template Method — temel sınıfta algoritma iskeletini tanımlama
IoC'nin Faydaları
- Bileşenler arasında gevşek bağlantı
- Mock'lar aracılığıyla basitleştirilmiş test
- Esnek bağımlılık yapılandırması
- Kod yeniden kullanılabilirliği
Popüler IoC Container'ları
- Spring (Java) — en popüler IoC container
- ASP.NET Core DI — .NET'te yerleşik DI
- InversifyJS — TypeScript/JavaScript için IoC
- Autofac, Ninject — .NET için alternatifler