应用场景
- 一个类存在两个或以上的独立维度的变化,且这些维度都需要进行拓展。
- 不希望使用继承或因为多层次继承导致类的个数急剧增加时。
- 如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承关系,可以通过桥接模式使他们在抽象层建立一个关联关系。
优点
- 分离了抽象与实现。让抽象部分和实现部分独立开来,分别定义接口,这有助于对系统进行分层,从而产生更好的结构化的系统。
- 良好的扩展性。抽象部分和实现部分都可以分别独立扩展,不会相互影响。
缺点
- 增加了系统的复杂性。
- 不容易设计,抽象与实现的分离要设计得好比较有难度。
AbsListView
跟ListAdapter
之间就是一个桥接模式。另外,
Window
与 WindowManager
之间也是桥接模式。有兴趣的可以去看下源码体会体会
No comments:
Post a Comment