簡體   English   中英

將依賴注入與服務定位器相結合

[英]Combining dependency injection with service locator

在以下示例中,服務定位器用於注入對類的依賴項。 這比在 class 中解決依賴關系並保持初始化程序(或 class 接口)干凈更好的方法嗎?

class MyClass {
    let service: Service
    init(service: Service) {
        self.service = service
    }
}

class RootClass {
    func something() {
        let myClass = MyClass(service: ServiceLocator.shared.resolve())
    }
}

這是注冊和注入的方式之一

// Register a class 
locator.registerFactory(() => Service());

class Service {}

class MyClass {
  final Service service;

  MyClass({this.service});
 }

class RootClass {
 void something() {

  final myClass = MyClass(service: locator.get());
 }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM