android设计模式之observer

来源:互联网 发布:minitool数据恢复工具 编辑:程序博客网 时间:2024/06/05 22:51

       今天我们谈谈android中的observer模式,看了一下网上的代码,感觉不是很好理解,我还是引入高焕堂老师的EIT模式来说,同时我结合android中的为button设置监听来讨论这个问题,我先大概讲讲理论,然后在下面会以一个简单的代码来表现。

      高老师的EIT模型中E和I是对应不变的,就像我们的button按钮是不变的,而变得只是button按钮以后处理事件,T也就是我们说的监听事件,在高老师来看是需要变得。同时监听事件是需要实现I接口的,这是我们连接变和不变的桥梁。高老师的E代表的是引擎,T代表的是轮胎,也就是引擎一旦上上去就不怎么会改变,但是轮胎会经常改变,I代表的是引擎和轮胎之间的接口,当我们把轮胎和接口连接在一起以后,我们就 可以愉快的玩耍了。ok,理论就讲到这个地方,下面是我模拟的一个button的监听实现的代码,

public class Test {/** *  * @author jk */public static void main(String[] args) {// 初始化一个buttonButton btn = new Button();// 设置一个监听的事件btn.setOnClickListener(new MyListener());// 通过btn.callonclick调用传入的MyListener对象的onclick方法btn.callonclick();}}// 定义一个接口interface IMyInterface {void onclick();}// 实现IMyInterface接口class MyListener implements IMyInterface {// 实现mListerer方法public void onclick() {System.out.println("ni hao ");}}class Button {// 设置接口对象IMyInterface myInterface;public void callonclick() {// 调用子类对象的方法myInterface.onclick();}public void setOnClickListener(IMyInterface myInterface) {// 父类引用指向子类对象,这里传递的一般是一个子类对象this.myInterface = myInterface;}}

有人说,这不就是回调吗?虽然我知道这个和大多数人说的回调几乎是一样的,但是,我真的不能理解回调。。。伤感



0 0
原创粉丝点击