一.观察者模式
1.定义
观察者模式(有时又被称为模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。---百度百科
2.实现过程
二.HandlerFrame项目
1.简介
HandlerFrame是一个基于观察者模式采用信息分发机制去实现跨界面Handler通讯框架。
2.架构图
3.使用观察者模式原理
//获取BaseHandler操作对象
BaseHandlerOperate.getBaseHandlerOperate()
//把OnBaseHandlerUpDateListener接口实现对象和指定对象订阅进Handler容器中
.onSubscribe(SubscribeObject,new OnBaseHandlerUpDateListener())
//给指定的界面发送Message
.sendMessage(AcceptTheObjectOfYheInformation, Message-What, SendTheMessageContent)
//移除(注销)指定订阅对象
.removeSubscribe(SubscribeObject)
//移除(注销)所有订阅对象
.removeSubscribe();
三.使用观察者模式带来的好处
使用观察者模式对信息发送采取信息分发机制去封装。让操作界面之间通讯完全解耦,调用起来没有那么繁琐。优化Handler内存,且跨界面通讯。
- 只要在HandlerFrame里面订阅过的对象,在任何界面都可以发送信息去跟订阅对象通讯。
- 整个项目里面只存在一个Handler实例对象,不用担心因为Handler对象造成的内存问题。