外观模式
外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个统一的接口,用于访问系统中的一组复杂子系统。外观模式隐藏了子系统的复杂性,简化了客户端与子系统之间的交互。
下面是一个简单的Java代码示例,演示了外观模式的实现:
// 子系统类A
class SubsystemA {
public void operationA() {
System.out.println("SubsystemA operation");
}
}
// 子系统类B
class SubsystemB {
public void operationB() {
System.out.println("SubsystemB operation");
}
}
// 子系统类C
class SubsystemC {
public void operationC() {
System.out.println("SubsystemC operation");
}
}
// 外观类
class Facade {
private SubsystemA subsystemA;
private SubsystemB subsystemB;
private SubsystemC subsystemC;
public Facade() {
subsystemA = new SubsystemA();
subsystemB = new SubsystemB();
subsystemC = new SubsystemC();
}
public void operation() {
subsystemA.operationA();
subsystemB.operationB();
subsystemC.operationC();
}
}
// 客户端代码
public class FacadePatternExample {
public static void main(String[] args) {
Facade facade = new Facade();
facade.operation();
}
}
在上述示例中,我们首先定义了三个子系统类 SubsystemA
、SubsystemB
和 SubsystemC
,它们分别负责不同的功能。
然后,我们创建了一个外观类 Facade
,它包含了对子系统对象的引用,并提供了一个统一的接口 operation()
,用于客户端访问子系统。
在客户端代码中,我们实例化了外观对象 Facade
,并通过调用 operation()
方法来间接访问子系统的功能。客户端无需直接与子系统类进行交互,而是通过外观类来完成操作。
通过使用外观模式,客户端代码与复杂的子系统之间实现了解耦,客户端只需与外观类进行交互,无需了解子系统的复杂性。外观模式提供了一个简单的接口,隐藏了子系统的实现细节,使得使用子系统变得更加方便和易于理解。
标签:外观,public,Facade,operation,子系统,10.17,客户端 From: https://www.cnblogs.com/luoqingci/p/18556261