《图解设计模式》 第五部分 一致性
第11章 Composite 模式
文中举例文件夹系统,
简单说明:
这里可以讲File 和 dirctory 看作一种东西 Entry。在 Entry 的基础上分化两者,构成结构。
能够使容器与内容具有一致性,创造出递归结构。
第12章 Decorator 模式
public class Main{
public static void main(String[] args){
Display b1 = new StringDisplay("Hello, world.");
Display b2 = new SideBorder(b1, '#');
Display b3 = new FullBorder(b2);
b1.show();
b2.show();
b3.show();
//这里输出是多层包围
Display b4 = new SideBorder(
new FullBorder(
new FullBorder(
new SideBorder(
new FullBorder(
new StringDisplay("Hello, world.")
),
'*'
)
)
),
'/'
);
b4.show();
}
}
//Border中含有 display,保证了Border 可以嵌套
public abstract class Border extends Display{
protected Display display;
protected Border(Display display){
this.display = display;
}
}