Java设计模式--外观模式

2018-04-17  本文已影响0人  留给时光吧

外观模式主要目的是隐藏具体的实现接口,对外提供简单的接口进行访问。类似于封装,有助于减少模块间的依赖性,提高了代码的安全性和灵活性。简单实现:

抽象类:

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

public interface Phone {
    void dial();
    void hangup();
}

实现类

public class CameraImpl implements Camera{
    @Override
    public void open() {
        System.out.println("open camera");
    }

    @Override
    public void takePic() {
        System.out.println("take picture");
    }

    @Override
    public void close() {
        System.out.println("close camera");
    }
}

public class PhoneImpl implements Phone{
    @Override
    public void dial() {
        System.out.println("dial");
    }

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

接口类

public class MobilePhone {
    Camera camera = new CameraImpl();
    Phone phone = new PhoneImpl();

    public void videoChat(){
        camera.open();
        phone.dial();
    }

    public void takePic(){
        camera.open();
        camera.takePic();
    }
}

测试类

public class test {
    public static void main(String[] args) {
        MobilePhone myPhone = new MobilePhone();
        myPhone.videoChat();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读