Sobes.tech
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-ის გამოყენება ...  
    }  
}  

ინიციალიზატორის ინექცია ყველაზე გავრცელებული და რეკომენდებული მეთოდია, რადგან გარანტიას იძლევა, რომ დამოკიდებულება ობიექტის შექმნის დროს იქნება. თვისება გამოიყენება, როდესაც დამოკიდებულება ვარიანტულია ან უცნობია ინიციალიზაციის დროს. მეთოდი გამოიყენება, როდესაც დამოკიდებულება მხოლოდ კონკრეტული მეთოდისთვისაა საჭირო.