美文网首页
23种设计模式-外观模式(视频聊天)

23种设计模式-外观模式(视频聊天)

作者: 王灵 | 来源:发表于2019-03-02 22:03 被阅读0次

定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式(Facade模式)提供一个高层次的接口,使得子系统更易于使用。
使用场景:
1、为一个复杂子系统提供一个简单接口。子系统往往因为不断演化而变得越来越复杂,Facade可以提供一个简单统一的接口,对外隐藏子系统的具体实现、隔离变化;(隐藏内部复杂的实现,让我们只需要看到可以使用的功能)
2、当需要构建一个层次结构的子系统时,使用Facade模式定义子系统中每层的入口点。如果子系统之间是相互依赖的,可以让他们仅通过Facade接口进行通信,从而简化他们之间的依赖关系。(需要多个子系统协调完成功能,使用Facade来解除子系统之间的依赖关系,把门面与子系统、子系统与子系统之间的关系也解糅)

public interface Phone {
    //打电话
    public void dail();
    //挂断
    public void hangup();
}

public interface Camera {
    public void open();
    public void takePicture();
    public void close();
}

public class PhoneImpl implements Phone {
    @Override
    public void dail() {
        Log.e("打电话");
    }

    @Override
    public void hangup() {
        Log.e("挂断");
    }
}

public class SamsungCamera implements Camera {
    @Override
    public void open() {
        Log.e("打开相机");
    }

    @Override
    public void takePicture() {
        Log.e("拍照");
    }

    @Override
    public void close() {
        Log.e("关闭相机");
    }
}

public class MobilePhone {
    private Phone mPhone = new PhoneImpl();
    private Camera mCamera = new SamsungCamera();

    public void dail() {
        mPhone.dail();
    }

    public void videoChat() {
        Log.e("-->视频聊天接通中");
        mCamera.open();
        mPhone.dail();
    }

    public void hangup() {
        mPhone.hangup();
    }

    public void takePicture() {
        mCamera.open();
        mCamera.takePicture();
    }

    public void closeCamera() {
        mCamera.close();
    }
}


public class Test {
    public static void main(String[] args) {
        MobilePhone nexus6 = new MobilePhone();
        //拍照
        nexus6.takePicture();
        //视频聊天
        nexus6.videoChat();
    }
}

相关文章

  • 23种设计模式-外观模式(视频聊天)

    定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式(Facade模式)提供一个高层次的接...

  • Android设计模式——外观模式(七大结构型)

    1.外观模式介绍 外观模式(Facade Pattern),是七大结构型设计模式之一。 外观模式运...

  • 设计模式[9]-外观模式-Facade Pattern

    1. 外观模式 外观模式(Facade Pattern),又称为门面模式,是非常常用的结构性设计模式。外观模式使得...

  • java设计模式-外观模式(Facade)

    外观模式,属于结构性模式。属于设计模式里面比较简单的设计模式,本人认为是最简单的设计模式。 所谓外观,就是我们能看...

  • 了解外观模式

    java 设计模式 ------外观模式 Java中一共有23种设计模式,每种设计模式各有特...

  • 设计模式之-4.外观模式

    每看一次设计模式,感觉每一个设计模式看起来是那么简单,对于外观模式我的理解就是外观模式:外观模式,这个名字起得不怎...

  • 设计模式详解——外观模式

    本篇文章介绍一种设计模式——外观模式。本篇文章内容参考《JAVA与模式》之门面模式,外观模式,深入浅出外观模式(二...

  • 外观模式(Facede)

    本文参考自: 《JAVA设计模式》之外观模式(Facade) 1. 作用 外观模式也叫门面模式,门面模式是对象的结...

  • 设计模式---外观模式

    1、外观模式(Facade):也叫门面模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个...

  • 设计模式——外观模式

    阎宏博士的《JAVA与模式》一书中开头是这样描述外观(Facade)模式的:门面模式是对象的结构模式,外部与一个子...

网友评论

      本文标题:23种设计模式-外观模式(视频聊天)

      本文链接:https://www.haomeiwen.com/subject/twtuuqtx.html