2007年2月5日星期一

设计模式之装饰模式

前言:Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这两种实体在Decorator模式中是必须的。

什么是装饰模式?
动态的给一个对象添加一些额外的职责,就像在墙上刷油漆。使用装饰模式相比用生成子类方式达到功能的扩充显得更为灵活。

为什么使用装饰模式?
用继承实现功能的拓展,必须可预见拓展的功能。当需要拓展的功能种类繁多时,势必生成很多子类。使用Decorator,用户动态决定加入功能的时机和方式,装饰模式提供了“即插即用”的方法,在运行时决定何时添加何种功能。

2 条评论:

Jose Rizal 说...

Hi! I'm happy you visited my blog. i was feeling low, that's why i said I felt like an old shoe. I hope to visit China in the future.

Unknown 说...

不懂啊。。。。