设计模式之装饰者模式

67 阅读1分钟

设计模式之装饰者模式

什么是装饰这模式

所谓装饰者模式就是给已有类动态的添加更多功能的一种方式

解决: 当新系统中需要添加一些功能时候,额外的添加一些新的字段,方法,逻辑。增加了类的复杂度。
而装饰者模式把每个需要装饰的功能放在单独的类中,让这个类包装他所需要的对象。

实体

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("  其他装饰。。。。。。");

}

//自定以其他需要添加的方法


}

总结:

装饰者模式好处:将原类中的装饰功能与原类分开,有效的将职责分开,简化类功能。