应用场景
这是一个关于相亲的故事。某家有女初长成,七大姑八大姨欲帮忙寻得佳婿,后在各种群、圈、网站,收集了各种男人的资料。这里需要一个应用程序生成收集过来的男人的描述,如:是否有车、是否有房、是否有存款、是否有好品质。然后这个应用了装饰者模式的应用诞生了,动态添加男人的描述,最后得到男人的综述。
装饰者结构类图
代码实现
Man(抽象构件)
public interface Oyy22Man {
public void getManDesc();
}
NormalMan(具体构件)
public class Oyy22NormalMan implements Oyy22Man{
private String name = null;
public Oyy22NormalMan(String name) {
this.name = name;
}
@Override
public void getManDesc() {
System.out.print(name + ": ");
}
}
AttachedPropertiesDecorator(抽象装饰类)
public abstract class Oyy22AttachedPropertiesDecorator implements Oyy22Man{
private Oyy22Man man;
public Oyy22AttachedPropertiesDecorator(Oyy22Man man) {
this.man = man;
}
public void getManDesc() {
man.getManDesc();
}
}
CarDecoratorImpl(具体装饰类)
public class Oyy22CarDecoratorImpl extends Oyy22AttachedPropertiesDecorator{
pr