设计-依赖关系的理解
2016-11-27 23:16
211 查看
1. 依赖最好是单向
1.1 如果一定要双向注入, 某一个依赖最好转换为接口依赖,实现反向调用或者说反向通知的效果.
1.2 接口(父类)依赖和mq其实是类似的. 另外一个通过存储解耦,变回调通知为阻塞查询某个队列存储(zookeeper常用)
Follower 依赖 FollowerZooKeeperServer , Follower又被注入到FollowerZooKeeperServer中,查看代码你会发现是注入的是Follower的封装类FollowerBean的父类接口.
listener 是 ZooKeeperServerListenerImpl的接口类. 而且这个注入就是在内部. 不是像spring的反向注入.
面试题:
1. 双向依赖 看是不是会抛错?
2. 基于服务端编程由于依赖的是接口,所以是伪依赖
1.1 如果一定要双向注入, 某一个依赖最好转换为接口依赖,实现反向调用或者说反向通知的效果.
1.2 接口(父类)依赖和mq其实是类似的. 另外一个通过存储解耦,变回调通知为阻塞查询某个队列存储(zookeeper常用)
Follower 依赖 FollowerZooKeeperServer , Follower又被注入到FollowerZooKeeperServer中,查看代码你会发现是注入的是Follower的封装类FollowerBean的父类接口.
public ZooKeeperServer() { serverStats = new ServerStats(this); listener = new ZooKeeperServerListenerImpl(this); }
listener 是 ZooKeeperServerListenerImpl的接口类. 而且这个注入就是在内部. 不是像spring的反向注入.
面试题:
1. 双向依赖 看是不是会抛错?
2. 基于服务端编程由于依赖的是接口,所以是伪依赖
相关文章推荐
- 组件设计实战--组件之间的关系 (Event、依赖倒置、Bridge)
- 关系数据库设计理论(2) 函数依赖
- 设计模式中类的关系之依赖关系(Dependence)
- 设计模式系列课程02之【类的关系详细理解】
- 设计模式系列课程01之【依赖、关联、聚合、组合的理解】
- 指南:设计中的导入依赖关系
- 正确理解关键词排名与网站权重的关系-成都网站设计
- 基于角色的访问控制(RBAC)设计及对角色和组关系理解
- 组件设计实战--组件之间的关系 (Event、依赖倒置、Bridge)
- 对设计原则【依赖倒置】的一些理解
- 重构 — 改善既有的类图设计 条款3:用 FACADE 类消除依赖关系的交叉
- 深入理解exchange 2007依赖ad的关系
- 理解SOA设计中模式的相互关系
- 设计模式中类的关系之依赖关系(Dependence)
- 项目实训--设计一个银行类(银行类与链表类、节点类构成依赖关系--和类的组合关系不太一样)
- java设计中深入理解abstract class和interface之间的关系
- UML类与类的关系, 总算理解了关联和依赖在实际中的区别
- 实战OO设计——类的关系:依赖、关联、聚合和组合
- 7.10.2: 深入理解依赖关系配置---注入其他Bean的Field值
- 23种设计模式-依赖、关联、聚合和组合之间区别的理解