Junior — Middle
Wat betekent de letter D in de SOLID-principes bij softwareontwikkeling?
sobes.tech AI
Antwoord van AI
De letter D in de SOLID-principes staat voor Dependency Inversion Principle (Principe van afhankelijkheidsomkering). Het zegt dat:
- Hoog-niveau modules niet afhankelijk moeten zijn van laag-niveau modules. Beide moeten afhankelijk zijn van abstracties.
- Abstracties mogen niet afhankelijk zijn van details. Details moeten afhankelijk zijn van abstracties.
Dit helpt bij het creëren van flexibele en gemakkelijk uitbreidbare architecturen, waarbij componenten via interfaces verbonden zijn, niet rechtstreeks met elkaar.
Voorbeeld in Swift:
protocol DataService {
func fetchData() -> String
}
class NetworkService: DataService {
func fetchData() -> String {
return "Gegevens van het netwerk"
}
}
class ViewModel {
private let service: DataService
init(service: DataService) {
self.service = service
}
func getData() -> String {
return service.fetchData()
}
}
let networkService = NetworkService()
let viewModel = ViewModel(service: networkService)
print(viewModel.getData()) // Output: Gegevens van het netwerk
Hier hangt ViewModel niet af van de concrete implementatie van NetworkService, maar van de abstractie DataService.