码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式:学习笔记(11)——外观模式

时间:2018-05-20 15:26:21      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:highlight   cup   接口   str   装饰者   流程   访问   something   ring   

设计模式:学习笔记(11)——外观模式

引入外观模式

什么是外观模式

  外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用

身边的外观模式

  技术分享图片

  客户端不需要知道系统内部的复杂联系,整个系统只需提供一个"接待员"即可

或者理解下面这个例子:

  • 电脑整机是CUP、内存、硬盘的外观。有了外观以后,启动电脑和关闭电脑都简化了。
  • 启动电脑(按一下电源键):启动CPU、启动内存、启动硬盘
  • 关闭电脑(按一下电源键):关闭硬盘、关闭内存、关闭CPU

三个模式的对比

  装饰者:不改变接口,但加入职责。

  适配器:将一个接口转换成另一个接口。

  外观:让接口更简单。

相关类图

  技术分享图片

实例分析

首先假设看病有四个流程

class guahao{
    public void doSomething(){
            //.....
    }
}

class menzheng{
    public void doSomething(){
        //.....
    }
}

class huajia{
    public void doSomething(){
        //.....
    }
}

class quyao{
    public void doSomething(){
        //.....
    }
}

引入外观模式前,我们需要自己去分别做每一步,并且非常麻烦,我们引入接待员;

class jiedai{
    guahao gh;
    menzheng mz;
    huajia hj;
    quyao qy;
    public void kanbing{
        gh.doSomething();
        mz.doSomething();
        hj.doSomething();
        qy.doSomething();
    }
}  

这样我们再看病,就简单的很了

public static void main(String[] args) {
    jiedai jd = new jiedai();
    jd.kanbing();
}

 

设计模式:学习笔记(11)——外观模式

标签:highlight   cup   接口   str   装饰者   流程   访问   something   ring   

原文地址:https://www.cnblogs.com/MrSaver/p/9063211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!