设计模式学习笔记(一): Bridge 模式
来源:互联网 发布:淘宝客团队 编辑:程序博客网 时间:2024/05/17 04:18
今年5月的时候制定goal的时候提到了要看一本设计模式的书,结果到现在了还啥也没看。决定每天看一点,学习的文章来自网站http://sourcemaking.com/design_patterns/ 主要是按自己的理解翻译记录一下,可能错误会比较多。
最近半年开发的项目都是跨PC和Mac的,Bridge模式中的接口和实现分离见的的比较多。
Bridge 模式
目的 :
1) 将抽象和具体实现间解耦合,这样让两者保持独立性。
2) 将接口发布在一个继承关系层,将实现隐藏在它自己的继承关系层。
3) 在封装之外在加上隔离
动机:
对于下图所示的线程分配系统
如果再加入一种平台
如果加入更多种平台呢,要添加的具体实现内将会很多。
所以Bridge模式的解决办法是将继承关系抽离出两个正交的关系。接口独立于平台,而实现依赖于平台。
讨论:
何时使用Bridge模式:
1)当你希望具体实现运行时绑定
2)当你遇到一个接口和数量可观的实现之间的耦合导致的类扩散问题。(proliferation of classes)
3)当你希望在多个对象之间共享实现
4)当你需要映射正交的类结构时
规则提要:
1) Adapter模式针对对象被设计好之后,Bridge模式针对对象设计前
2)Bridge模式被设计用于将抽象接口和具体实现分离。而Adapter模式让不相关的类能合作
3)State、Strategy、Bridge(某些Adapter)具有类似的解决方案结构。因为它们分享了“handle/body”idiom的元素。它们的不同在于目的--解决不同的问题
4)State和Bridge模式的结构是一致的(除了Bridge承认envelope classes的分层,而State只有一层)。两者用相同的结构解决不同的问题:State允许一个对象的行为随着它的状态改变,而Bridge的目的是解耦抽象和实现以使二者在依赖性上独立。
5)如果接口类代理了具体实现的创建(而不是直接创建/耦合它们),那么这种设计通常就会用Abstract Factory模式来创建具体实现对象。
- 设计模式学习笔记(一): Bridge 模式
- 设计模式学习笔记--桥梁(Bridge)模式
- 《设计模式》学习笔记--桥接Bridge
- 设计模式之Bridge学习笔记
- 设计模式笔记-Bridge模式
- Bridge模式学习笔记
- 阿Sam的设计模式学习笔记---- Bridge模式
- 设计模式学习笔记八(Bridge桥接模式)
- 设计模式学习笔记(四)—Bridge桥接模式
- java 设计模式学习笔记十 bridge桥模式
- [设计模式学习笔记]Bridge桥接模式
- Bridge模式——设计模式学习笔记
- 设计模式学习笔记——桥接(Bridge)模式
- 设计模式解析笔记----Bridge
- 笔记:Gof设计模式--Bridge
- 设计模式学习7 Bridge
- 设计模式学习-Bridge(桥接)
- 设计模式(一)[桥接(Bridge)模式]
- VC中全部快捷键列表
- 这个网址好呀
- java汉字乱码解决办法
- JSP基础语法(上)
- 深入Struts2拦截器
- 设计模式学习笔记(一): Bridge 模式
- 关于string/stringbuffer/stringbuilder
- jsp基础语法(中)
- 结构体数组到底要不要分配内存
- JSP基础语法(下)
- eclipse打包插件 fat jar
- Grub命令使用详解
- C语言内存的动态存储管理3-分配算法和回收
- Log4j详解配置