什么是观察者模式?
百科是这样描述的:观察者模式(有时又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式).
下面我给出大家我的理解,观察者模式就类似与同学和老师的关系一样。
老师就是被观察的对象,而同学们都是老师的观察者。将这一类比用到课堂上,可以说是更加的容易理解。
例如:
老师是一个被观察的对象,老师在教师里面给同学们上课,老师自然知道这个教室里面有多少个同学以及每个同学的位置或者名字
而每个同学都是老师的一个观察者,当老师讲课的时候,当然所有的同学都能听到。
所以总结来看:老师拥有多个学生,老师可以看到多个学生,每个学生都可以听到老师讲的课。
下面给出大家实现代码,如果大家有什么不懂地方,尽管提出来,我会尽我所能给大家解答的。
TeahcerInterface.java
package com.design.observer;
/**
* @author 鲁志明 E-mail: 13688601037@139.com
* @version 创建时间:2013-5-27 下午9:06:04
*
*/
public interface TeahcerInterface {
// 增加学生
public void add(StudentInterface student);
// 移除学生
public void remove(StudentInterface student);
// 教授知识
public void teachTechnology(String notes);
}
StudentInterface.java