设计模式-结构型-外观模式

1、定义

外观模式:对外提供统一方法,用来访问子系统中一群接口

写法

public interface Camera {
    //打开相机
    public void open();

    //拍照
    public void takePicture();

    //关闭相机
    public void close();
}

public class CameraImpl implements Camera{
    @Override
    public void open() {
        System.out.println("打开相机");
    }

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

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

public interface Phone {
    //拨电话
    void dail();

    //挂断
    void hangup();
}

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

    @Override
    public void hangup() {
        System.out.println("挂断");
    }
}

/**
 *
 * 外观模式
 * 对客户程序隐藏子系统的细节,因而减少了客户对于子系统的耦合,能够拥抱变化。
 */
public class TestMain {

    //系统对外的统一接口,系统内部系统地工作
    public static void main(String[] args) {
        MobilePhone mobilePhone = new MobilePhone();
        mobilePhone.takePicture();
        mobilePhone.videoChat();
    }

}

代码示例

https://github.com/yinlingchaoliu/23-design-pattern

你可能感兴趣的:(设计模式-结构型-外观模式)