您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在Dart中实现依赖反转原则可以通过以下几种方式:
abstract class Dependency {
void doSomething();
}
class ConcreteDependency implements Dependency {
@override
void doSomething() {
print("Doing something in ConcreteDependency");
}
}
class DependencyConsumer {
Dependency dependency;
DependencyConsumer(this.dependency);
void useDependency() {
dependency.doSomething();
}
}
void main() {
Dependency dependency = ConcreteDependency();
DependencyConsumer consumer = DependencyConsumer(dependency);
consumer.useDependency();
}
class Dependency {
void doSomething() {
print("Doing something in Dependency");
}
}
class DependencyConsumer {
Dependency dependency;
DependencyConsumer(this.dependency);
void useDependency() {
dependency.doSomething();
}
}
class DIContainer {
static final Map<Type, dynamic> _dependencies = {};
static void register<T>(T instance) {
_dependencies[T] = instance;
}
static T resolve<T>() {
return _dependencies[T];
}
}
void main() {
DIContainer.register(Dependency());
DependencyConsumer consumer = DependencyConsumer(DIContainer.resolve<Dependency>());
consumer.useDependency();
}
通过以上两种方式,在Dart中可以很容易地实现依赖反转原则,从而使得代码更加灵活和可维护。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。