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-ից: