揭秘外观模式:简化复杂系统的关键设计策略-外观模式的结构

时间:2024-02-17 17:46:07

外观模式通常包括以下角色:

  1. Facade(外观):这是系统中唯一与客户端交互的类。它为客户端提供一组简化的接口,用于访问子系统中的功能。外观类知道如何组织这些子系统来完成客户端的请求。

  2. Subsystem(子系统):子系统包含一系列的类,这些类实现了系统的部分功能。通常,这些类之间存在相互依赖关系,对外表现为复杂的操作接口。

  3. Client(客户端):客户端是使用外观类的消费者。通过外观类,客户端可以访问到子系统中的功能,而无需直接与子系统的各个部分进行交互。

以上角色的关系如图表示:
在这里插入图片描述
其中,Subsystem1和Subsystem2是两个子系统接口,它们分别定义了不同的操作。ConcreteSubsystem1和ConcreteSubsystem2是这两个接口的具体实现。Facade是外观类,它包含了对子系统的引用,并提供了统一的request()方法供客户端调用。