装饰者设计模式

本文记录Java学习过程中遇到的装饰者设计模式~

设计模式:专门为解决某一类问题而编写的固定格式的代码。

装饰者固定结构:接口A、已知的实现类C和需要装饰者创建的代理类B

装饰者实现步骤:

  1. 创建类B,并实现接口A;
  2. 提供类B的构造方法,参数类型为A,用于接收A接口的其他实现类C;
  3. 给类B添加类型为A的成员方法,用于存放A接口的其他实现类;
  4. 增强需要的方法;
  5. 实现不需要增强的方法,方法体重新调用成员变量存放的其他实现类对应的方法。

示例代码:

class B implements A{
	private A a;
	public B(A a){
		this.a = a;
	}
	//需要增强的方法
	public void close(){

	}
	//不需要增强的方法
	public void commit(){
		this.a.commit();
	}
}


A a = ...C;
B b = new B(a);

标签: none