Middle
რომელ დამოკიდებულების ინექციის მეთოდებს იცნობ?
sobes.tech AI
პასუხი AI-სგან
- ინიციალიზატორის (Initializer Injection)
- თვისება/სეტერი (Property/Setter Injection)
- მეთოდი (Method Injection)
// ინიციალიზატორის (Initializer Injection)
class MyClass {
let dependency: Dependency
init(dependency: Dependency) {
self.dependency = dependency
}
}
// თვისება/სეტერი (Property/Setter Injection)
class MyClass {
var dependency: Dependency?
}
// სეტერის გამოყენება
let instance = MyClass()
instance.dependency = concreteDependency
// მეთოდი (Method Injection)
class MyClass {
func performAction(with dependency: Dependency) {
//... dependency-ის გამოყენება ...
}
}
ინიციალიზატორის ინექცია ყველაზე გავრცელებული და რეკომენდებული მეთოდია, რადგან გარანტიას იძლევა, რომ დამოკიდებულება ობიექტის შექმნის დროს იქნება. თვისება გამოიყენება, როდესაც დამოკიდებულება ვარიანტულია ან უცნობია ინიციალიზაციის დროს. მეთოდი გამოიყენება, როდესაც დამოკიდებულება მხოლოდ კონკრეტული მეთოდისთვისაა საჭირო.