Sobes.tech
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.