设计模式二(建造者、原型、桥接)
来源:互联网 发布:python arma模型 编辑:程序博客网 时间:2024/04/30 18:18
2012-05-20 21:36
(五)、生成器模式(建造者模式)
1、实现思维:将一个复杂的构建与其表示形式相分离。使得同样的构建过程可以创建不同的表示。
2、实例:
建造者模型(抽象类):
具体建造者1:具体建造者2:
最终产品:指挥者:
客户端调用:
3、性能优缺:使得建造的代码与表示代码分离。构造者隐藏了产品的内部组合,如改变了产品的内部表示,则只需重新定义一个建造者就行。
(六)原型模式
1、实现思维:通过将一个原型对象传给一个要发动创建的对象,此对象通过请求原型对象拷贝他们自己来实施创建。
.Net中只要实现ICloneable接口的clone方法即可达到原型模型。
2、实例:
原型类:
使用实现:
结果截图:
3、性能优缺:
浅拷贝与深拷贝以及实现ICloneable接口的区别:
浅:只是单纯的对被复制对象成员的复制。不涉及被复制对象成员的成员。
深:把引用对象的变量指向复制的新对象,而不是原有的被引用的对象;对被复制对象成员的成员也进行了Clone()操作。
接口实现:在初始化信息不变的情况下,该方法最佳,它既隐藏了对象创建的细节,又对性能大大的提高。它不需要重新初始化对象,而是动态的获得对象运行时的状态。、
(七)桥接模式
1、实现思维:将类的接口与他的实现分离,无需修改客户端代码即可改或者替换实现过程。
用意(目录):将抽象化与实现化脱耦,使得二者可独立改变。
脱耦:将抽象化与实现化的强关联改换成弱关联。
(合成/聚合复用原则在此处的体现)
2、实例:
用不同的画笔画出不同颜色的痕迹
类关系图:
父类颜色:
子类颜色1:子类颜色2:
父类画笔
子类画笔1:子类画笔2
使用实现:
3、性能优缺:
桥接模式很好的体现了“开放-封闭原则”和组合/聚合复用原则,而不是继承这2个面向对象的原则。
能力有限,有错之处,万望指出,非常感谢!
- 设计模式二(建造者、原型、桥接)
- 设计模式(二)建造者模式
- 设计模式——建造者模式和原型模式
- 设计模式笔记(十一)--建造者模式、原型模式、单例模式
- 设计模式之建造型-原型模式(5)
- 设计模式c++(二)----Biluder建造者模式
- Java设计模式(二)----建造者模式
- Java设计模式之建造者模式(二)
- 建造者模式(二):游戏角色设计的建造者模式解决方案
- TypeScript设计模式之单例、建造者、原型
- TypeScript设计模式之单例、建造者、原型
- 设计模式二:建造模式
- 编程常用设计模式详解--(上篇)(工厂、单例、建造者、原型)
- 设计模式系列(二)原型模式
- JAVA基础9(设计模式 单例模式 工厂模式 建造者模式 原型模式)
- 设计模式之十三 建造者模式(建造小人)
- 设计模式之建造型-建造者模式(4)
- 建造者模式和原型模式
- 时空数据模型
- 设计模式一(工厂方法、抽象工厂、单例)
- iphone 3d programming : clean project
- 链表的应用:计算每个作业的运行时间
- java mail 邮件验证 五
- 设计模式二(建造者、原型、桥接)
- NET多线程与异步编程
- 数字三角形 (动态规划与递归)
- dijkstra O(n2) 算法模版
- 基于S5PC100的FIMC的部分解释——一篇让我理解透彻2440和S5PV210 摄像头camera控制器的文章
- GetProcessWorkingSetSize function
- winform实现截图功能
- Java mail 邮件回复 六
- Exadata安装步骤