设计模式(1)观察者模式简单理解
来源:互联网 发布:sql 删除表 编辑:程序博客网 时间:2024/05/02 01:35
什么叫做观察者模式呢?
观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。打个比方:如果微信用户是观察者,那么微信公众号是被观察者。
具体的观察者:
public class WeixinUser implements Observer { // 微信用户名 private String name; public WeixinUser(String name) { this.name = name; } @Override public void update(String message) { System.out.println(name + "-" + message); }}
具体的被观察者:
public class SubscriptionSubject implements Subject { //储存订阅公众号的微信用户 private List<Observer> weixinUserlist = new ArrayList<Observer>(); @Override public void attach(Observer observer) { weixinUserlist.add(observer); } @Override public void detach(Observer observer) { weixinUserlist.remove(observer); } @Override public void notify(String message) { for (Observer observer : weixinUserlist) { observer.update(message); } }}
客户端调用
public class Client { public static void main(String[] args) { SubscriptionSubject mSubscriptionSubject=new SubscriptionSubject(); //创建微信用户 WeixinUser user1=new WeixinUser("杨影枫"); WeixinUser user2=new WeixinUser("月眉儿"); WeixinUser user3=new WeixinUser("紫轩"); //订阅公众号 mSubscriptionSubject.attach(user1); mSubscriptionSubject.attach(user2); mSubscriptionSubject.attach(user3); //公众号更新发出消息给订阅的微信用户 mSubscriptionSubject.notify("刘望舒的专栏更新了"); }}打印结果:
杨影枫-刘望舒的专栏更新了月眉儿-刘望舒的专栏更新了紫轩-刘望舒的专栏更新了
0 0
- 设计模式(1)观察者模式简单理解
- 设计模式之观察者模式简单理解
- 简单理解设计模式之观察者模式
- 简单理解观察者模式
- 如何理解观察者设计模式?
- 设计模式(1)----观察者
- 设计模式(1)--观察者模式
- 设计模式-2-观察者模式(1)
- 设计模式之观察者模式(1)
- C#设计模式- 观察者模式(1)
- java设计模式(1)观察者模式
- 观察者设计模式简单实例
- 设计模式-深入理解观察者模式
- 设计模式-观察者模式自我理解
- 理解设计模式之观察者模式
- 设计模式理解之观察者模式
- 设计模式(观察者模式)
- android 设计模式——观察者模式(原来如此简单)
- 调用 android 系统拍照结合 android-crop 裁剪图片
- APNS 学习总结(四)
- 如何在项目中应用数字签名技术
- iOS crash报告问题
- 腾讯第一“伪娘” 他是最会化妆的IT男
- 设计模式(1)观察者模式简单理解
- 关键帧动画的停止
- 数据结构课程设计——ytu学生成绩管理系统
- 列举几个 JavaScript 中常用的全局函数,并描述其作用
- 适配时,请注意单位:px、dpi
- Android studio和eclipse快捷键------Android sdk
- 图像滤镜、美化、拼接- Android
- 浅析ToolBar与AppCompatActivity结合使用
- 使用 fprintf 代替 NSLog