设计模式--门面模式

1 门面模式
门面模式抽象图如下,通过创建一个类将一系列业务集成来面向外部,实现各个业务的解耦。
这里写图片描述
实例:
每个Computer都有CPU、Memory、Disk。在Computer开启和关闭的时候,相应的部件也会开启和关闭,所以,使用了该外观模式后,会使用户和部件之间解耦。如:
这里写图片描述
以上图片摘自:
http://www.cnblogs.com/lthIU/p/5860607.html,博主关于门面模式讲解的蛮好,感谢分享。
代码实现:
各个业务逻辑

public class Cpu {
    public void start(){
        System.out.println("CPU start");
    }
}
public class Disk {
    public void start(){
        System.out.println("Disk start");
    }
}
public class Memory {
    public void start(){
        System.out.println("Memory start");
    }
}

集成类,将各个业务集成

public class Computer {

    private Memory memory;

    private Disk disk;

    private Cpu cpu;

    public Computer(Memory memory, Disk disk, Cpu cpu) {
        super();
        this.memory = memory;
        this.disk = disk;
        this.cpu = cpu;
    }

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

测试:

public class Client {
    public static void main(String[] args){
        Computer computer=new Computer(new Memory(), new Disk(),new Cpu());
        computer.startComputer();
    }
}

参考博客:http://blog.csdn.net/jason0539/article/details/22775311感谢楼主分享。
门面模式将各个业务拆分成不同的类,在使用的类中添加类的引用,执行处不用关心具体的实现过程。从而实现业务的封装。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值