Java设计模式-13、外观模式-统一的入口

外观模式(门面模式)是一种设计模式,旨在为子系统提供一个统一的接口,减少客户端与子系统间的耦合。它定义了一个高层接口,方便客户端使用子系统。文章详细介绍了外观模式的定义、结构、代码实现、应用实例以及优缺点,并指出其适用于需要简化复杂子系统访问的场景。通过抽象外观类,可以实现子系统与客户端的松耦合,但若设计不当,可能需要修改外观类源代码,违反开闭原则。
摘要由CSDN通过智能技术生成

第13章:外观模式-统一的入口

定义:

外观模式:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

迪米特法则的一种具体实现(一个对象应该对其他对象保持最少的了解)

又称:门面模式

image-20201105103540101

image-20201105103601278

结构:

image-20201105103904391

代码实现:

//子系统
class SubSystemA {
   
    public void MethodA() {
   
        //业务实现代码
    }
}

class SubSystemB {
   
    public void MethodB() {
   
        //业务实现代码
    }
}

class SubSystemC {
   
    public void MethodC() {
   
        //业务实现代码
    }
}
//外观类
class Facade {
   
    private SubSystemA obj1 = new SubSystemA();
    private SubSystemB obj2 = new SubSystemB();
    private SubSystemC obj3 = new SubSystemC();

    public void Method() {
   
        obj1.MethodA();
        obj2.MethodB();
        obj3.MethodC();
    }
}
//客户端
class Program {
   
    static void Main(String[] args) {
   
        Facade facade = new Facade();
        facade.Method();
    }
}

应用实例:

文件加密模块:

  1. 读取源文件:使用流
  2. 加密:求模
  3. 保存加密文件:使用流

image-20201105104220162

//文件读取
class FileReader{
   
    public String reade(String fileNameSrc){
   
        System.out.println("读取文件,获取明文")
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值