Java设计模式--外观模式

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

抽象类:

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

推荐阅读更多精彩内容

  • Java设计模式之外观模式 这期跟大家分享一下外观模式,跟前几期一样外观模式也是一种结构模式,都是为了使程序结构更...
    icyage阅读 264评论 0 0
  • 1.外观模式(Facade Pattern) 外观模式 隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的...
    Mr_欢先生阅读 657评论 1 7
  • 参考资料:菜鸟教程之设计模式 设计模式概述 设计模式(Design pattern)代表了最佳的实践,通常被有经验...
    Steven1997阅读 1,201评论 1 12
  • 大早上的就被妹妹戳醒 一睁眼我妹就傻哭 妈的啦她大腿上长了一串的红苞 妹妹带去输液之后 消肿了 不过我真的是吓得飞...
    萌石专阅读 294评论 0 0
  • 文/若兮 你说,世界上的人那么的多种多样。 可你属于哪一种呢? 我不知道。 这是个只有看见和自己三观不同的人时,才...
    ShayRuo阅读 229评论 1 1