观察者模式
来源:互联网 发布:淘宝客域名注册技巧 编辑:程序博客网 时间:2024/04/19 18:29
观察者模式分为:抽象标题、具体标题、抽象观察者、具体观察者
就如订阅网站资料一样,订阅资料的对象是具体观察者,网站资料是具体主题,每次后台进行发送内容至订阅者,订阅者可以是不同对象的集合。
1.观察者
public class Coder implements Observer {
public String name;
public Coder(String aName) {
name = aName;
}
public void update(Observable o, Object arg) {
System.out.println( "Hi, " + name + ", AndroidWeekly更新啦, 内容 : " + arg);
}
@Override
public String toString() {
return "码农 : " + name;
}
}
2.后台发送
public class AndroidWeekly extends Observable {
public void postNewPublication(String content) {
// 标识状态或者内容发生改变
setChanged();
// 通知所有观察者
notifyObservers(content);
}
}
3.执行内容
public static void main(String[] args) {
// 被观察的角色
AndroidWeekly androidWeekly = new AndroidWeekly();
// 观察者
Coder mrsimple = new Coder("mr.simple");
Coder coder1 = new Coder("coder-1");
Coder coder2 = new Coder("coder-2");
Coder coder3 = new Coder("coder-3");
Coder coder4 = new Coder("coder-4");
// 将观察者注册到可观察对象的观察者列表中
androidWeekly.addObserver(mrsimple);
androidWeekly.addObserver(coder1);
androidWeekly.addObserver(coder2);
androidWeekly.addObserver(coder3);
androidWeekly.addObserver(coder4);
// 发布消息
androidWeekly.postNewPublication("新的一期AndroidWeekly来啦!");
}
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- IOS 键盘的显示与关闭,以及移动显示(UITextView处理完整版)
- [转]Linux中的内存管理
- /*捕食者与被捕食者求大神解题C++.*/
- 项目4——数值转换
- C++ AES之CBC加密模式
- 观察者模式
- Java学习中遇到的一些问题
- hdu 4431 Mahjong 模拟
- 如何完全删除SQL Server2008。
- angular debug 调试
- 产生和为0的一组随机数
- 全景:Bundle adjustment算法
- 1.3.5 head.s开始执行(2)
- 找出s的子串中字典序第k小的“半回文串” Trie Codeforce Div. 2 Ann and Half-Palindrome