您的位置:首页 > 编程语言 > Java开发

java与模式 装饰模式 decorator

2009-03-20 16:59 375 查看
装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。

装饰模式应该在以下情况下使用:

需要扩展一个类的功能,或给一个类增加附加责任。

需要动态地给一个对象增加功能,这些功能可以再动态地撤销。

需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变的不现实。

如图:



应用代码如下:

Component c = new ConcreteComponent();

Component d = new ConcreteDecorator(c);

d.operation();

使用装饰模式与继承关系的目的都是要扩展对象的功能,但是装饰模式可以提供比继承更多的灵活性,允许系统动态地决定贴上一个需要的"装饰",或者除掉一个不需要的"装饰".
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: