空中社区

首页 » 〓〓娱乐地带〓〓 » ┫数码风云┣ » 编程与项目开发 » C++设计模式--装饰者模式
计算机紧急响应组 - 2008-6-12 10:38:00

装饰者模式可以很好的控制子类的暴涨,类的层次结构大小和复杂度有了很大程度的降低。
下面我用一个比较简单的例子给大家介绍装饰者模式的使用。

我们响应组有“部长”,“组长”,这两种人物会很多技能,比如编程,网站建设,电脑维修,网络安全。
有的“部长”会一项技能,有的“部长”会多项技能,同样,我们的“组长”也是这样。
如果我们对每个人物都设计一个类,那么我们的子类将会爆涨,不利于用户的使用。

现在有个办法可以解决。我们设计“部长类”,“组长类”,再设计几个“技能类”,我们用“技能类”来装饰“部长类”或者“组长类”,如果有多项技能,我们就再用一个“技能类”来装饰它。

比如我们的“部长”,给它添加一个技能后,还可以继续给他添其他技能。

这种装饰模式在java和很常见,比如输入流,大概叫什么来说?ReadBuff...?是这样吗?我也不记得了,我的java不好。还有给一个区域添加滚动条,外边框,都用到了装饰者模式。

我利用一个例子,写了一个代码,大家互相学习一下。
计算机紧急响应组 - 2008-6-12 10:42:00
嗯,我的权限不能上传rar文件,我给个地址让大家下载这个模式的详细代码
http://www.ecjtu.org/forum/job.php?action=download&pid=&tid=17573&aid=8840
1
查看完整版本: C++设计模式--装饰者模式