Aha!设计模式(58)-装饰模式(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/craftsman1970/article/details/88826907

示例代码

我们从前一篇文章中选取网络数据处理的例子写一段Python代码。

代码中首先定义了数据处理基类DataProcessor,它有一个process操作用于处理数据。

DataCreater是一个普通的派生类,用于初始化数据。

然后是Decorator类,它定义了一个数据成员processor,用于管理装饰对象。在Decorator的process方法中,只是简单地调用processor成员的process方法。processor可以是DataProcess的任何派生类的对象,还可以拿着其他的processor,这种关系不断地继续下去,直至满足需求为止。

接下来定义校验装饰器和加密装饰器。这里的实现只是输出字符串。

主程序分别实现了数据生成器+加密装饰和数据生成器+校验装饰组合。其输出如下:

示例类图

为了便于理解,下面给出代码的类图。

觉得本文有帮助?请分享给更多人。

阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】

猜你喜欢

转载自blog.csdn.net/craftsman1970/article/details/88826907