设计模式中的主题 - 观察者关联与解释器模式
1. 主题 - 观察者关联
1.1 基本原理
在主题 - 观察者关联模式中,客户端通常首先创建主题( ReportManager
)的实例。每当创建一个观察者(如 MonthlyReport
、 YTDChart
)对象时,会将主题实例的引用作为构造方法的一部分传递给观察者对象,观察者对象会向该主题实例注册自己。
以下是客户端代码示例:
public class SupervisorView {
public static void main(String[] args) throws Exception {
// 创建主题
ReportManager objSubject = new ReportManager();
// 创建观察者
new MonthlyReport(objSubject);
new YTDChart(objSubject);
}
}
1.2 类关联图
相关的类关联可以用以下图来表示:
graph LR
classDef interface fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef class fill:#E5F6FF,st