装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。具体被装饰者和抽象装饰类都继承于抽象被装饰者类,继承的是类型,而不是行为。行为来自装饰者和基础组件,或与其他装饰者之间的组合关系。装饰模式的角色 抽象构件角色(Component):给出一个抽象接口,以规范准备....
分类:
编程语言 时间:
2014-06-28 18:21:50
阅读次数:
340
1,定义
Gof23设计模式中是这样定义桥接设计模式:桥接模式的目的是把抽象层次结构从其实现中分离出来,使其能够独立变更。抽象层定义了供客户端使用的上层的抽象接口。实现层次结构定义了供抽象层次使用的底层接口。实现类的引用被封装于抽象类的实例中时,桥接就形成了。
我们用一个游戏的例子去理解这个桥接模式,比如,我们假如魂斗罗一代,魂斗罗二代界面没多大变化,可以共用一套底层接口。
上面这个...
分类:
其他好文 时间:
2014-05-21 15:03:19
阅读次数:
260
使用new的Code都违反了DIP.但是,依赖于稳定的具体类,是无害的.例如string.另一方面,对于正在开发中的APP,很多具体类是易变的.此时应该依赖于抽象接口.Factory模式:只依赖于抽象接口就能创建出具体对象的实例.对Test
Fixture使用工厂编写UT时,希望把一个模块和它使用的...
分类:
其他好文 时间:
2014-05-15 13:43:56
阅读次数:
312
概述
将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式角色
建造者(Builder):为创建一个产品对象的各个部件指定抽象接口。
具体建造者(ConcreteBuilder):实现Builder的接口以构造和装配该产品的各个部件,定义并明确...
分类:
其他好文 时间:
2014-05-14 02:37:47
阅读次数:
329
屌丝有了钱只是用来花的,那得有些霸气一点的房子吧!
意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
适用性:
1、房子有不同的几个部分,能独立的安装
2、希望能建造出多个不同表象的房子
大家先看个类图
1.Builder
为创建一个Product对象的各个部件指定抽象接口。
2.ConcreteBuilder
实现Builder的接口...
分类:
其他好文 时间:
2014-05-12 06:34:15
阅读次数:
235
实现要点:1.组合模式采用树形结构来实现普遍存在的对象容器,从而将“一对多”的关系转化“一对一”的关系,使得客户代码可以一致地处理对象和对象容器,无需关心处理的是单个的对象,还是组合的对象容器。2.将“客户代码与复杂的对象容器结构”解耦是组合模式的核心思想,解耦之后,客户代码将与纯粹的抽象接口——而...
分类:
其他好文 时间:
2014-05-08 13:03:35
阅读次数:
355