携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情
前言
- MQ为什么很火主要还是即位他的消息属性,什么叫做消息当然是有需要时能够监听到,无需要时你就是不存在的角色,这样对于系统来说就不会占用太大的资源了。当然了消息本身最终要的就是如何能保证不丢失属性
场景
- 在程序开发中有的时候我们需要被告知。这就是我们熟知的观察者模式。我们处于一个场景中重要且存在感很低的角色,我们负责无时无刻的观察,类似于我们的日志系统,你能说日志不重要吗,但是日志确实是存在感极低的角色。
开发
- 我们程序开发呢?如果使用观察者模式的话将会极大的简化了我们的了流程,但是对于代码来说确实是复杂了一点中间有了一层中准。
观察者
- 首先我们定义一个观察者的接口。提供了注册被观察者和删除被观察者。这里我们可以理解成发布和订阅这绑定关系的两个操作API . 剩下的就是发布消息。
消息接受
- 剩下的就是我们的被观察者。我们同样定义一个接口
public interface Observer {
public void update(Object obj);
}
- 其中的update就是对接收到的数据进行处理。
public class UserOne implements Observer {
private String uuid = UUID.randomUUID().toString();
@Override
public void update(Object obj) {
System.out.println("我是用户("+uuid+"):接收到信息:" + obj);
}
}
- 这里我们就简单的输出下内容吧
测试
- 下面我们就开始构建两个被观察者,将该被观察者注册到观察者的观察列表中。此时我们可以通过观察者给观察列表中的被观察者发送通知。从而达到我们的解耦需求
总结
- 设计模式整体是一种思想,只要我们能呕疏朗的使用设计模式将会能够得倒进步