EIT造型下的Observer模式(三)
上篇博客谈到了FM模式在Android中的使用情况,本篇博客继续讨论Android中常用到的Observer(观察者)模式。
一、观察者模式初识
观察者模式通俗的讲就是一种状态的改变会改变另外其他控件或数值的更改,而其他控件或数值更改的时候就是通过观察者去关注状态的变化
通过以上UML分析
(1) ConcreateObserver(T)充当观察者的角色,其会创建一个被观察者对象交给主体ConcreatSubject
(2) 当主体状态发生改变的时候会调用getState()函数将改变的状态值state返回给被观察的主体基类Subject(E)
(3) 基类Subject(E)通过接口Observer(I)将状态值返回出去,之后子类ConcreateObserver实现其接口,就获取到了状态的改变值observerState;
(4) 以上就是观察者在观察对象状态变化过程的基本分析
二、Android中使用Observer(观察者)模式场景
Android中我们经常会遇到监听控件状态的变化,就如上面UML 中绘制的textView的状态变化
(1) myActivity(T)在调用onCreate函数的时候创建了TextView的控件;
(2) TextVeiw作为被观察者的一部分,会将其自身状态的变化告知给Android框架层的父类View
(3) View拿到子类状态的变化时,会把变化的值交给setOnClickListener接口,观察者myActivity(T)只要实现了OnClickListener接口就可以获取到TextView状态变化的值了;
好了,通过通俗易懂的分析,你是不是对观察者模式有了更直观的认知呢?欢迎关注我的博客,我也是在不断的进步学习中,后面会陆续更新EIT造型下的设计模式。