Sobes.tech
Junior — Middle

Ի՞նչ նշանակություն ունի տառը D ծրագրային ապահովման զարգացման սկզբունքներում՝ SOLID-ում։

sobes.tech AI

Պատասխան AI-ից

SOLID սկզբունքների D տառը նշանակում է Dependency Inversion Principle (Անվահարկման սկզբունք): Դա ասում է, որ՝

  • Բարձր մակարդակի մոդուլները չպետք է կախված լինեն ցածր մակարդակի մոդուլներից: Երկուսն էլ պետք է կախված լինեն աբստրակցիաներից:
  • Աբստրակցիաները չպետք է կախված լինեն մանրամասներից: Մանրամասները պետք է կախված լինեն աբստրակցիաներից:

Այսը օգնում է ստեղծել ճկուն և հեշտ ընդլայնվող ճարտարապետություններ, որտեղ կոմպոնենտները կապված են միջերեսների միջոցով, ոչ թե ուղղակիորեն միմյանց հետ:

Օրինակ Swift-ում:

protocol DataService {
    func fetchData() -> String
}

class NetworkService: DataService {
    func fetchData() -> String {
        return "Ցանցից տվյալներ"
    }
}

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()) // Արտածում՝ Ցանցից տվյալներ

Այստեղ, ViewModel-ը կախված չէ NetworkService կոնկրետ իրականացումից, այլ աբստրակցից՝ DataService-ից: