Aha!设计模式(57)-装饰模式(1)

网友投稿 836 2022-11-13

Aha!设计模式(57)-装饰模式(1)

Aha!设计模式(57)-装饰模式(1)

意图

在维持原有接口不变的前提下,动态的为类增加功能。

动机

动态调整一个类的功能有多种方式。一种是替换,例如桥接模式可以通过替换实现类对象来改变具体的实现。另一种方式是堆叠,也就是通过多个步骤完成一项工作。

最简单的例子是做菜:先加油,再加葱花,接下来加肉片,加青菜,最后加盐,加鸡精等。当然也有人还会加辣椒,大料等,这也没问题。

炒菜的过程有如下几个特点,这才是重点。

1.每一步都相互独立,操作的对象都是锅里的菜。

2.步骤的选择是动态的,每一步都是可选项,顺序也可以会变化。

3.每一步都是只管做自己的事,不用关心其他步骤是否存在。

4.锅里的菜会随着每一步的进行而逐渐发生变化,直至完成。

这个过程也许有些过于接地气了,接下来看看软件开发中的例子:

1.图像处理过程可以看作是调白平衡,降噪,锐化,彩度,切割,旋转处理的组合。

2.网络传输数据的处理可以看作是,校验,加密,压缩等处理的组合

3.Wizard形式的安装流程,参数设定流程可以拆分为多个步骤的组合等。

划重点

基本上只要是分阶段处理数据或者事务的场合都或多或少的具备炒菜的特征。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Aha!设计模式(56)-组合模式(3)
下一篇:关于log4j日志扩展
相关文章

 发表评论

暂时没有评论,来抢沙发吧~