设计模式-结构篇(外观模式)

外观模式

隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。

通过一个控制类,来控制多个类的方法。这样用户只要会操作控制类,而不用学习其他多个类了。

去医院看病,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待人员,只让接待人员来处理,就很方便。

/**
 * Created by malei on 2016/12/6.
 * Doctor是控制类,通过这个类可以控制Disease的实现类
 */
public class Doctor {

    private final ColdDis mColdDis;
    private final HotDis mHotDis;

    public Doctor(){
        mColdDis =  new ColdDis();
        mHotDis =  new HotDis();
    }

    public void sayByCold(){
        mColdDis.say();
    }

    public void sayByHot(){
        mHotDis.say();
    }
    
    public static void main(String[] args){
        Doctor dor = new Doctor();
        dor.sayByCold();
    }
}

/**
 * Created by malei on 2016/12/6.
 */
public class ColdDis implements Disease{
    @Override
    public void say() {
        Log.show("感冒了");
    }
}

/**
 * Created by malei on 2016/12/6.
 */
public class HotDis implements Disease{
    @Override
    public void say() {
        Log.show("发烧了");
    }
}

/**
 * Created by malei on 2016/12/6.
 */
public interface Disease {
    void say();
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定义 门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口...
    步积阅读 2,263评论 0 3
  • 本篇文章介绍一种设计模式——外观模式。本篇文章内容参考《JAVA与模式》之门面模式,外观模式,深入浅出外观模式(二...
    Ruheng阅读 7,197评论 0 8
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的...
    ZackDt阅读 686评论 0 1
  • 朋友就像金鱼,一起平静的游在鱼缸里,时不时会有一些小矛盾,矛盾之后鱼缸里就会多一粒沙子。当有一只金鱼爆发后,就会卷...
    99880ca71a8e阅读 171评论 0 1