Sobes.tech
Junior — Middle

Ҳарфи D дар принсипҳои SOLID дар таҳияи нармафзор чӣ маъно дорад؟

sobes.tech AI

Ҷавоб аз AI

Ҳарф D дар принсипҳои SOLID маънои Принсипи тўғиркунии такяҳо-ро дорад. Он мегӯяд, ки:

  • Модулҳои сатҳи боло набояд аз модулҳои сатҳи поёнтар такя кунанд. Ҳарду бояд аз абстраксияҳо такя кунанд.
  • Абстраксияҳо набояд аз тафсилот такя кунанд. Тафсилотҳо бояд аз абстраксияҳо такя кунанд.

Ин кӯмак мекунад, ки архитектураҳои чандир ва осон васеъшаванда эҷод кунанд, ки дар он компонентҳо тавассути интерфейсҳо пайваст мешаванд, на мустақиман як ба дигар.

Масалан дар 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.