外观模式(Facade)

外观模式目的并非添加新功能接口,而是减少外部与子系统多模块交互,实现松散耦合,简化使用。其本质是封装交换、简化调用。以电脑为例,通过外观模式封装,避免用户逐个操作模块,简化启动和关闭流程。

外观模式的目的不是在给予系统添加新的功能接口,而是为了让外部减少与子系统内多个模块的交互,松散耦合,从而让外部能够更简单地使用子系统。
外观模式的本质是:封装交换,简化调用。
以电脑为例,电脑是由很多模块组装而成,启动和关闭都会涉及很多模块的启动和关闭。如果让用户一个个去关闭的话,那就太麻烦了。所以这里用到了外观模式进行封装,简化调用。

public interface Imode()
{
    void start();
    void shutDown();
}
public class Cpu implements Imode
{
    @override
    public void start()
    {
        System.out.println("cpu启动");
    }
    @override
    public void shutDown()
    {
        System.out.println("cpu关闭");
    }
}

public class Disk implements Imode
{
    @override
    public void start()
    {
        System.out.println("Disk 启动");
    }
    @override
    public void shutDown()
    {
        System.out.println("Disk 关闭");
    }
}

public class Memory implements Imode
{
    @override
    public void start()
    {
        System.out.println("Memory 启动");
    }
    @override
    public void shutDown()
    {
        System.out.println("Memory 关闭");
    }
}
//门面类
public class Computer
{
    private Imode cpuMode,diskMode,memoryMode;
    public Computer()
    {
        cpuMode = new Cpu();
        diskMode = new Disk();
        memoryMode = new Memory();
    }
    public void start()
    {
        cpuMode.start();
        diskMode.start();
        memoryMode.start();
    }
    public void shutDown()
    {
        cpuMode.shutDown();
        diskMode.shutDown();
        memoryMode.shutDown();
    }
}
//客户端的调用
public class Client
{
    punlic static void main(String[] args)
    {
        Computer computer = new Computer();
        computer.start();
        computer.shutDown();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值