首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式学习之消息驱动机制

2013-10-10 
设计模式学习之消息驱动机制消息驱动机制,也叫观察者模式、事件驱动模式。不论是在应用还是游戏中,都是一种

设计模式学习之消息驱动机制

消息驱动机制,也叫观察者模式、事件驱动模式。不论是在应用还是游戏中,都是一种常见的设计模式,该设计模式非常利于模块的解耦。

我们这里以老师和学生为例,有一个老师和多个学生,老师发的每一个消息,学生都要能够收到。如:老师说,明天我们放假,然后确保所有学生都能收到该消息。

首先,建立一个消息分发中心,负责收集和移除消息接收个体(这里就是学生),同时负责通知到收集的每一个个体。该类命名为Human_Event.

public abstract class Human_Event { private List<Listener> mNoticeList = new ArrayList<Listener>();           public void addListener(Listener msg) {          mNoticeList.add(msg);          System.out.println("添加一个学生。");    }            public void removeMessage(Listener msg) {          mNoticeList.remove(msg);          System.out.println("移除一个学生。");    }            public void notifyListener() {          for (Listener l:mNoticeList) {              l.update(this);          }      } }
如此,将整个Teacher对象传给了Student,Student就可以根据自己的需要去取老师的信息了。

但是,个人比较推荐前者,按需将参数传递过去就行了,将整个对象传递过去并进行强转,对于受体来说,就可以毫无节制的获取所有信息了,可能造成进一步耦合。








热点排行