设计模式-外观模式
  7W8ecOFW4G9x 2023年11月22日 54 0

设计模式-外观模式_外观模式

定义

外观模式(Facade Pattern):提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使用。其实就是为了方便客户的使用,把一群操作,封装成一个方法。

示例

在这个示例中,我们有三个子系统类: CPU , Memory 和 HardDrive 。每个类都执行系统的不同功能,例如处理数据,加载内存和读取硬盘数据。

然后,我们创建了一个 ComputerFacade 类,它封装了这三个子系统类,并提供了一个简单的 start() 方法,客户端可以使用该方法启动计算机。在 start() 方法中,我们按照正确的顺序调用每个子系统的方法,以确保计算机正确启动。

最后,在客户端代码中,我们创建了一个 ComputerFacade 对象,并使用 start() 方法启动计算机。由于外观类隐藏了系统的复杂性,客户端代码非常简单。

class CPU {
    public void processData() {
        System.out.println("正在处理数据...");
    }
}
 class Memory {
    public void load() {
        System.out.println("正在加载内存...");
    }
}
 class HardDrive {
    public void readData() {
        System.out.println("正在读取硬盘数据...");
    }
}
 // 外观类
class ComputerFacade {
    private CPU cpu;
    private Memory memory;
    private HardDrive hardDrive;
     public ComputerFacade() {
        cpu = new CPU();
        memory = new Memory();
        hardDrive = new HardDrive();
    }
     public void start() {
        System.out.println("启动计算机...");
        cpu.processData();
        memory.load();
        hardDrive.readData();
        System.out.println("计算机启动完毕!");
    }
}
 // 客户端代码
public class FacadePatternDemo {
    public static void main(String[] args) {
        ComputerFacade computer = new ComputerFacade();
        computer.start();
    }
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月22日 0

暂无评论

推荐阅读
7W8ecOFW4G9x