精掌握Java设计模式之外观模式(10)

原创
2018/04/23 16:29
阅读数 77

定义

    通俗地解释,当你打开灯的时候,你只需要嗯一下开关就好了,不需要关心灯泡亮起来的这个流程,同理,打开电脑的时候,
嗯一下开机键就好了,也不需要关心电脑是先运行cpu还是内核之类的。这样能让用户体验很方便,这种解决方案就是外观模式。

应用场景

1、为复杂的模块或子系统提供外界访问的模块

2、子系统相对独立(调用接口就行)

3、预防低水平人员带来的风险,提高安全性(举例开灯,防止笨蛋被电,电脑开机,
防止笨蛋弄坏电脑零件...等)

代码实现

      为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

public interface Draw {
    void shape();
}
public class DrawCircle implements Draw {
    @Override
    public void shape() {
        System.out.println("画圆");
    }
}
public class DrwaSan implements Draw {
    @Override
    public void shape() {
        System.out.println("画三角形");
    }
}

      然后用外观类统一包装

public class Facade {

    private Draw drawCircle;

    private Draw drawSan;

    public Facade(){
        drawCircle = new DrawCircle();
        drawSan    = new DrwaSan();
    }

    public void drawCircle(){
        drawCircle.shape();
    }
    
    public void drawSan(){
        drawSan.shape();
    }
}

      它这个功能就行QQ一样,能打电话,能聊天,能留言,能存照片,这种统一帮我们做好了的东西就好比外观模式。

public class Main {
    public static void main(String[] args){
        Facade facade = new Facade();
        facade.drawCircle();
        facade.drawSan();
    }
}

      结果

      结果不重要,记住核心点就是它包装了好多东西,我们都能调用,方便我们,就像项目中的工具类一样或者比如哆啦A梦的口袋,大熊不需要需要什么尽管找哆啦A梦就好了,就不用去别的地方找了,很方便。

展开阅读全文
打赏
1
3 收藏
分享
加载中
更多评论
打赏
0 评论
3 收藏
1
分享
返回顶部
顶部