您的位置:首页 > 理论基础 > 数据结构算法

设计模式之装饰模式(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.模型



代码下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息