外观模式(Facade)

博客介绍了外观模式,它旨在解决类与类之间的依赖关系,通过将依赖关系放到一个 Facade 类中,降低类间耦合度。以 Computer 类为例,若没有该类,CPU、Memory、Disk 会相互依赖,有了它则起到解耦作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 外观模式
    外观模式是为了解决类与类之间的依赖关系,外观模式将依赖关系放到一个Facade 类中,降低类与类之间的耦合度。
    在这里插入图片描述
  • 实现类
public class Facade
{
    public static void main(String[] args) {
        Computer computer = new Computer();
        computer.startup();
        computer.shutdown();
    }
}

class CPU
{
    public void startup()
    {
        System.out.println("CPU StartUp");
    }
    public void shutdown()
    {
        System.out.println("CPU shutDown");
    }
}

class Memory
{
    public void startup()
    {
        System.out.println("memory StartUp");
    }
    public void shutdown()
    {
        System.out.println("memory shutDown");
    }
}

class Disk
{
    public void startup()
    {
        System.out.println("Disk StartUp");
    }
    public void shutdown()
    {
        System.out.println("Disk shutDown");
    }
}

class Computer
{
    private CPU cpu;
    private Memory memory;
    private Disk disk;

    public Computer()
    {
        cpu = new CPU();
        memory = new Memory();
        disk = new Disk();
    }
    public void startup()
    {
        System.out.println("computer start");
        cpu.startup();
        memory.startup();
        disk.startup();
        System.out.println("computer finished");
    }
    public void shutdown()
    {
        System.out.println("computer shutdown begin");
        cpu.shutdown();
        memory.shutdown();
        disk.shutdown();
        System.out.println("shutdown fisished");
    }
}

们没有 Computer 类,那么,CPU、Memory、Disk 他们之间将会相互持有实例,产生关系,这样会造成严重的依赖,修改一个类,可能会带来其他类的修改,这不是我们想要看到的,有了 Computer类,他们之间的关系被放在了 Computer 类里,这样就起到了解耦的作用,这,就是外观模式!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值