人生处处是惊喜,不是吗?

搜索 nihao-shijie 关注
nihao-shijie.lofter.com
“当一件事情足够重要时,即使目前结果并没有达到我的预期,我仍然需要坚持不懈地去做它!”

Java设计模式之门面模式(外观模式)

所谓门面就是对外是一致的样式,具体一点就是为子系统中的一组接口提供一个一致的界面。

举例来说,我们衣服有好几种颜色,鞋子也有好几种颜色,我们可以随机搭配,但我们不需要自己去一件一件的挑衣服搭配,我们只需要事先告诉告诉冠军我们今天要什么衣服搭配什么鞋子,到时候统一和管家说一下就可以了

来看代码,这个模式也很简单。

//=========BlackDress.java==========

public class BlackDress {

    public void on(){

        System.out.println("黑色的上衣");

    }

}

//=========RedDress.java==========

public class RedDress{

    public void on(){

        System.out.println("红色的上衣");

    }

}

//=========WhiteShoes.java==========

public class WhiteShoes{

    public void on(){

        System.out.println("白色的鞋子");

    }

}

//=========BlueShoes.java==========

public class BlueShoes{

    public void on(){

        System.out.println("蓝色的鞋子");

    }

}

//=========Facade.java==========

public class Facade {

private BlackDress blackDress;

    private BlueShoes blueShoes;

    private RedDress redDress;

    private WhiteShoes whiteShoes;

    public Facade(){

        blackDress=new BlackDress();

        blueShoes=new BlueShoes();

        redDress=new RedDress();

        whiteShoes=new WhiteShoes();

    }

    public void MathchOne(){

        System.out.println("穿衣搭配如下:");

        blackDress.on();

        whiteShoes.on();

    }

    public void MathchTow(){

        System.out.println("穿衣搭配如下:");

        redDress.on();

        whiteShoes.on();

    }

}

//=========MainTest.java==========

public static void main(String[] args) {

    Facade facade=new Facade();

    facade.MathchOne();

    System.out.println();

    facade.MathchTow();

}

结果如下:

穿衣搭配如下:

黑色的上衣

白色的鞋子


穿衣搭配如下:

红色的上衣

白色的鞋子






评论

© 你好-世界 | Powered by LOFTER