java设计模式8:Decorator

装饰(Decorator)模式又名包装(Wrapper)。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。
装饰模式使用原来被装饰的类的一个子类的实例,把客户端的调用委派到被装饰类。装饰模式的关键在于这种扩展是完全透明的。
imagejava设计模式8:Decorator
1、抽象构件(Component):给出一个抽象接口,以规范准备接收附加责任的对象。
2、具体构件(Concrete Component):定义一个将要接收附加责任的类。
3、装饰(Decorator):持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口。
4、具体装饰(Concrete Decorator):负责给构件对象“贴上”附加的责任。 package com.javapatterns.decorator; public interface Component
{
void sampleOperation();
} package com.javapatterns.decorator; public class ConcreteComponent implements Component
{
public void sampleOperation()
{
// Write your code here
}
}
package com.javapatterns.decorator; public class Decorator implements Component
{
public Decorator(Component component)
{
// super();
this.component = component;
} public Decorator() {
} public void sampleOperation()
{
component.sampleOperation();
} /**
* @link aggregation
* @uml.property name="component"
* @uml.associationEnd
*/
private Component component;
}
package com.javapatterns.decorator; public class ConcreteDecorator extends Decorator
{
public void sampleOperation()
{
super.sampleOperation();
}
}
Tags: 

延伸阅读

最新评论

发表评论