Sobes.tech
Junior — Middle

Mit jelent a D betű a SOLID elvekben szoftverfejlesztés során?

sobes.tech MI

Válasz az MI-től

A SOLID elvek D betűje a Dependency Inversion Principle (Függőség fordított elv) jelentése. Ez kimondja, hogy:

  • A magas szintű moduloknak nem szabad alacsony szintű moduloktól függniük. Mindkettőnek az absztrakcióktól kell függnie.
  • Az absztrakciók nem szabad, hogy a részletektől függjenek. A részleteknek az absztrakcióktól kell függniük.

Ez segít rugalmas és könnyen bővíthető architektúrák létrehozásában, ahol a komponensek interfészeken keresztül kapcsolódnak egymáshoz, nem közvetlenül.

Swift példával:

protocol DataService {
    func fetchData() -> String
}

class NetworkService: DataService {
    func fetchData() -> String {
        return "Hálózati adatok"
    }
}

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()) // Kimenet: Hálózati adatok

Itt a ViewModel nem függ a NetworkService konkrét megvalósításától, hanem az absztrakciótól, a DataService-től.