设计模式之装饰模式(Decorator Pattern)
2012-02-29 10:20
429 查看
设计模式之装饰模式(Decorator Pattern)
代码下载
1.概念
动态地给一个对象添加一些额外的职责。就扩展功能而言,它比生成子类方式更为灵活。
概念比较抽象,举个例子:
实现一个算法
1).定义一个实体Model数据结构,里面两个属性D1,D2。
2).定义一个抽象类AbstractSum,算法接口Sum。
3).Sum1算法1,求和D1+D2,算法2,求积D1*D2。
好现在算法框架已经有了。
下面该利用装饰模式了。实现算法之前要做一个数据验证。
对算法1(Sum1)D1>0时才能求和。
对算法2(Sum2)D2>0时才能求积。
具体做法是:
1).定义一个抽象类AbstractCheckDataSumWrapper继承抽象类AbstractSum。
2).实现AbstractCheckDataSumWrapper类CheckDataSumWrapper1,CheckDataSumWrapper2
分别做数据验证,后计算。
其实就是把原有算法包装一下,扩展一些额外功能。
2.模型
代码下载
代码下载
1.概念
动态地给一个对象添加一些额外的职责。就扩展功能而言,它比生成子类方式更为灵活。
概念比较抽象,举个例子:
实现一个算法
1).定义一个实体Model数据结构,里面两个属性D1,D2。
2).定义一个抽象类AbstractSum,算法接口Sum。
3).Sum1算法1,求和D1+D2,算法2,求积D1*D2。
好现在算法框架已经有了。
下面该利用装饰模式了。实现算法之前要做一个数据验证。
对算法1(Sum1)D1>0时才能求和。
对算法2(Sum2)D2>0时才能求积。
具体做法是:
1).定义一个抽象类AbstractCheckDataSumWrapper继承抽象类AbstractSum。
2).实现AbstractCheckDataSumWrapper类CheckDataSumWrapper1,CheckDataSumWrapper2
分别做数据验证,后计算。
其实就是把原有算法包装一下,扩展一些额外功能。
2.模型
代码下载
相关文章推荐
- .NET设计模式-装饰模式(Decorator Pattern)
- .NET设计模式-装饰模式(Decorator Pattern)
- .NET设计模式(10):装饰模式(Decorator Pattern)
- .NET设计模式(10):装饰模式(Decorator Pattern)
- android设计模式-装饰模式(Decorator Pattern)
- 基于东北F4的设计模式情景剧——第一幕 装饰模式(Decorator Pattern)
- 设计模式学习笔记十五:装饰模式(Decorator Pattern)
- 设计模式拾荒之装饰器模式( Decorator Pattern ): 代理模式的双胞胎兄弟
- 设计模式:装饰模式(Decorator Pattern)
- "围观"设计模式(13)--结构型之装饰模式(Decorator Pattern)
- 设计模式[6] Decorator Pattern 装饰模式
- 乐在其中设计模式(C#) - 装饰模式(Decorator Pattern)
- 极速理解设计模式系列:23.装饰器模式(Decorator Pattern)
- 设计模式拾荒之装饰器模式( Decorator Pattern): Oracle 数据库打印PreparedStatement
- DOTA版设计模式——装饰模式[Decorator Pattern]
- 设计模式13 - 装饰模式【Decorator Pattern】
- 二十四种设计模式:装饰模式(Decorator Pattern)
- 乐在其中设计模式(C#) - 装饰模式(Decorator Pattern)
- 设计模式_装饰模式(Decorator Pattern)
- 极速理解设计模式系列:23.装饰器模式(Decorator Pattern)