设计模式:外观模式

概述

外观模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供一个统一的高层接口。这个高层接口使得子系统更加易于使用。

使用场景

  1. 当你希望为复杂子系统提供一个简单接口时。
  2. 当你需要解耦客户端代码与复杂子系统之间的依赖时。
  3. 当你希望子系统的各个部分能够独立地工作或替换时。

结构

外观模式包含以下几个主要部分:

  1. 外观(Facade):为客户端提供一个统一的接口。
  2. 子系统类(Subsystem Classes):实现子系统的功能。它们不知道外观的存在,对它们来说,外观只是另一个客户端。

代码实现

下面是一个 Java 实现外观模式的例子,展示了如何通过一个外观类来简化与子系统的交互。

示例代码:

// 子系统类A
class SubsystemA {
    public void operationA() {
        System.out.println("Subsystem A operation");
    }
}

// 子系统类B
class SubsystemB {
    public void operationB() {
        System.out.println("Subsystem B operation");
    }
}

// 子系统类C
class SubsystemC {
    public void operationC() {
        System.out.println("Subsystem C operation");
    }
}

// 外观类
class Facade {
    private SubsystemA subsystemA;
    private SubsystemB subsystemB;
    private SubsystemC subsystemC;

    public Facade() {
        this.subsystemA = new SubsystemA();
        this.subsystemB = new SubsystemB();
        this.subsystemC = new SubsystemC();
    }

    public void performOperation() {
        subsystemA.operationA();
        subsystemB.operationB();
        subsystemC.operationC();
    }
}

// 客户端代码
public class FacadePatternDemo {
    public static void main(String[] args) {
        Facade facade = new Facade();
        facade.performOperation();
    }
}
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值