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感谢楼主分享。
门面模式将各个业务拆分成不同的类,在使用的类中添加类的引用,执行处不用关心具体的实现过程。从而实现业务的封装。