设计模式课程 设计模式精讲 21-2 观察者模式coding
1 代码演练 1.1 代码演练1(一对一观察) 1.2 代码演练2(一对多观察) 1.3 代码演练3(多对多观察) 1 代码演练 1.1 代码演练1(一对一观察) 需求: 木木网课程系统,教师后台提醒功能,当对应课程收到提问时,系统能给对应教师发出提醒 注意: a 设计的时候,可以分为教师类,课程类和问题类。课程类作为被观察者,教师类作为观察者,问题类作为被观察者的一个参数。 b 根据系统已经有jdk提供的两个类 Observable(作为被观察者要继承的类)和 Observer(作为被观察者实现要实现的类)。我们能够轻松实现功能。 uml类图: 测试类: package com.geely.design.pattern.behavioral.observer; public class Test { public static void main(String [] args){ Teacher teacher = new Teacher("李大霄"); Course course = new Course(); course.setCourseName("基金定投"); //基金定投课程添加添加观察者 李大霄老师 course.addObserver(teacher); Question question = new Question();