[英]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.