设计模式
来源:互联网 发布:点对点网速测试软件 编辑:程序博客网 时间:2024/06/16 06:19
知识点:
1.观察者模式为了解决什么问题?
2.观察者模式的组成部分。
3.简单的代码实现。
1.观察者模式为了解决什么问题?
现在这里有个实际的问题,微博用户A,B,C,D。用户B,C,D需要当用户A发了微博以后去评论。怎么用观察者模式来解决这个问题了?观察者模式能在A发布微博以后,提醒B,C,D 用户A发来一篇微博,你们可以去评论了。
2.观察者模式的组成部分。
三个部分组成:
a.事件,这里例子中就是用户A发来一个微博
b.事件源,这里例子中就是微博用户A,她可以发微博,删微博,更新微博等等
c.监听者,这里例子中就是微博用户B,C,D,他们想要知道用户A的各种动态
3.简单的代码实现。
下面的代码实现都是伪代码,主要为了帮助理解观察者模式。
事件代码:
class Event{ SEND, DELETE, UPDATE}
事件源:
class EventSource { List<Listener> listenerList = new ArrayList<Listener>(); notifyListener(Event) { //这里遍历监听者,并且调用监听者的方法 }}
class Listener { void doSometing() {//评论,点赞 }}
三个部分的代码都在这了,看一下他们是怎么运作的。
a.首先创建监听者对象B,C,D 并且将它们放到时间源的listenerList中。
b.事件源发出事件,通过notifyListener方法,遍历监听者。
c.监听者执行doSometing的方法。
阅读全文
0 0
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式~~~~~~~~~~
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 找不到或无法加载主类、JAVA_HOME、PATH、CLASSPATH
- 静态
- TimeAndMath
- WebHubBot爬虫分享(每天可抓取500万以上)
- 问题:Objective-C 中 C 类型函数不识别 foundation 中的类
- 设计模式
- SpringSecurity学习笔记(三)——自定义登录界面读取数据库用户以及权限
- Active Job
- swift 网络----利用URLSession的Block模式下载多张图片
- 11.ar, nm, objdump
- 华北水利水电大学社会实践--国情社情调研团走进社区
- 慕课HTML基础知识复习
- fabric 开发环境
- 葵花宝典 六