Header

《图解设计模式》 第五部分 一致性

第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;
    }
}
posted @ 2024-11-05 09:28  大俗XD  阅读(1)  评论(0编辑  收藏  举报

Footer