设计模式—结构型模式之外观模式(门面模式)

设计模式---结构型模式之外观模式(门面模式)

外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。

例子

我们的电脑会有很多 组件,比如CPU、硬盘、内存等等;如果我们电脑需要启动的话,需要挨个去调用每个组件的启动方法;停止逻辑也是一样;我们可以提取到一个组合的类中,提供一个整体的启动方法,直接调用,这就是门面模式的使用。

代码如下:

java 复制代码
public class Cpu {
    public void start(){
        System.out.println("CPU启动了");
    }
}
public class Disk {
    public void start(){
        System.out.println("硬盘启动了");
    }
}
public class Memory {
    public void start(){
        System.out.println("内存启动了");
    }
}
/**
 * 门面类
 */
public class ComputerFaced {
    private Cpu cpu;
    private Memory memory;
    private Disk disk;

    public ComputerFaced(){
        this.cpu = new Cpu();
        this.memory = new Memory();
        this.disk = new Disk();
    }

    public void start(){
        this.cpu.start();
        this.memory.start();
        this.disk.start();
    }
}

我们的客户使用,就是如下:

java 复制代码
public class FacedTest {
    public static void main(String[] args) {
        ComputerFaced computerFaced = new ComputerFaced();
        computerFaced.start();
    }
}

运行如下:

相关推荐
SamDeepThinking4 小时前
裁掉那个差程序员后,给你看团队里高手的代码:这个习惯,希望你有
java·后端·程序员
朕瞧着你甚好5 小时前
技术雷达 & Java 集成评估报告 — Apache Tika 3.3.1
java·ai编程
HjhIron5 小时前
从Prompt到Context:大模型应用开发的范式转移
设计模式·aigc·ai编程
MacroZheng6 小时前
短短几天,暴涨2.8万Star!又一款编程神器开源!
java·人工智能·后端
SamDeepThinking6 小时前
函数式编程:用BiFunction消除多类型分支的代码重复
java·后端·面试
Flittly1 天前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了1 天前
Java 生成二维码解决方案
java·后端
人活一口气1 天前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP1 天前
Vibe Coding -- 完整项目案例实操
java
荣码1 天前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python