Junior — Middle
Mis tähendus on tähel D tarkvaraarenduse SOLID põhimõtetes?
sobes.tech AI
Vastus AI-lt
SOLID printsi D täht tähendab Dependency Inversion Principle (Sõltuvuste pööramise põhimõte). See ütleb, et:
- Kõrgema taseme moodulid ei tohiks sõltuda madalama taseme moodulitest. Mõlemad peaksid sõltuma abstraktsioonidest.
- Abstraktsioonid ei tohiks sõltuda üksikdetailidest. Detailid peaksid sõltuma abstraktsioonidest.
See aitab luua paindlikke ja hõlpsasti laiendatavaid arhitektuure, kus komponendid on ühendatud kasutades liideseid, mitte otse üksteisega.
Näide Swiftis:
protocol DataService {
func fetchData() -> String
}
class NetworkService: DataService {
func fetchData() -> String {
return "Andmed võrgust"
}
}
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()) // Väljund: Andmed võrgust
Siin ei sõltu ViewModel konkreetse NetworkService teostusest, vaid abstraktsioonist — DataService.