Java 设计模式 - 外观模式
外观模式(Facade),又叫门面模式,是为了解决类与类之家的依赖关系的,给客户端提供一个统一入口,并对外屏蔽内部子系统的调用细节。像 spring 一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个 Facade 类中,降低了类类之间的耦合度
很多 Web 程序,内部有多个子系统提供服务,经常使用一个统一的 Facade 入口,例如一个 RestApiController,使得外部用户调用的时候,只关心 Facade 提供的接口,不用管内部到底是哪个子系统处理的。
实现
public class CPU {
public void work(){
System.out.println("cpu start work!");
}
}
public class Disk {
public void load(){
System.out.println("disk start load!");
}
}
public class Memory {
public void connect(){
System.out.println("memory start connect!");
}
}
public class Computer {
private CPU cpu;
private Disk disk;
private Memory memory;
public Computer() {
cpu = new CPU();
disk = new Disk();
memory = new Memory();
}
public void startup(){
System.out.println("start the computer!");
cpu.work();
memory.connect();
disk.load();
}
}
public class FacadeTest {
public static void main(String[] args) {
Computer computer = new Computer();
computer.startup();
}
}
计算机内部零部件特别多,他们之间的关系被放在了 Computer 类里,这样就起到了解耦的作用,而用户使用计算机就只要和计算机这个类打交道,这就是外观模式的特点
SLF4J 使用的就是外观模式(门面)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Java 集合
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论