设计模式之装饰者模式
什么是装饰这模式
所谓装饰者模式就是给已有类动态的添加更多功能的一种方式
解决: 当新系统中需要添加一些功能时候,额外的添加一些新的字段,方法,逻辑。增加了类的复杂度。
而装饰者模式把每个需要装饰的功能放在单独的类中,让这个类包装他所需要的对象。
实体
public class Person {
public void test() {
System.out.println("person ");
}
}
装饰行为
public class Decorator extends Person {
@Override
public void test() {
super.test();
}
}
装饰方式
public class PDerator extends Decorator {
protected Person person;
public PDerator(Person person) {
this.person = person;
}
@Override
public void test() {
super.test();
if (person!=null) {person.test();}
test2();
}
//自定义装饰的方法
public void test2(){
System.out.println(" 其他装饰。。。。。。");
}
//自定以其他需要添加的方法
}
总结:
装饰者模式好处:将原类中的装饰功能与原类分开,有效的将职责分开,简化类功能。