美文网首页设计模式
设计模式-外观模式

设计模式-外观模式

作者: isLJli | 来源:发表于2020-05-21 22:48 被阅读0次

外观设计模式的定义

要求一个子系统的外部与其内部通信必须通过一个统一的对象进行,又称之为门面模式,提供一个高层次的接口,使得子系统更易于使用

外观设计模式更像是一个管理类,把多个功能集成在一个类中,类通过方法向外界提供功能实现,不是客户端调用真正的实现方法。

外观设计模式例子

我们把手机的电话系统和拍照系统,通过一个类来封装好,通过调用这个类的方法就可以实现相对应的功能

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

public class PhoneImp implements Phone {
    @Override
    public void dail() {
        System.out.println("打电话");
    }

    @Override
    public void hangup() {
        System.out.println("挂断电话");
    }
}
/**
 * 拍照系统
 */
public interface Camera {
    void open(); //打开相机
    void takePicture(); //拍照
    void close(); //关闭
}
public class CameraImp implements Camera {
    @Override
    public void open() {
        System.out.println("打开相机");
    }

    @Override
    public void takePicture() {
        System.out.println("拍照");
    }

    @Override
    public void close() {
        System.out.println("关闭相机");
    }
}

封装类

public class MobilePhone {
    Phone mPhone = new PhoneImp();
    Camera mCamera= new CameraImp();

    //打电话
    public void dail(){
        mPhone.dail();
    }

    //挂断电话
    public void hangup(){
        mPhone.hangup();
    }

    //视频聊天
    public void videoChat(){
        System.out.println("----->视频链接中");
        mCamera.open();
        mPhone.dail();
    }

    //拍照
    public void takePicture(){
        mCamera.open();
        mCamera.takePicture();
    }

    //关闭相机
    public void closeCamera(){
        mCamera.close();
    }
}

public class MainActivity extends AppCompatActivity {  
@Override  protected void onCreate(Bundle savedInstanceState) {      
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);      
    MobilePhone mobilePhone= new MobilePhone();    
    mobilePhone.takePicture();   
    mobilePhone.videoChat();  
}

外观设计模式在Android应用

Context类平时我们用context来startActivity()、sendBroadcast()、sendService(),这些都是封装好的调用方法。

相关文章

  • 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)模式的:门面模式是对象的结构模式,外部与一个子...

  • 设计模式--外观模式

    一、举个栗子小明每天回家都会先打开灯,空气净化器,电热水器烧上水,放上音乐,如果天气热的话,再打开空调。写成代码 ...

网友评论

    本文标题:设计模式-外观模式

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