读书人

一个统一管理的事例用观察者模式实现

发布时间: 2013-01-23 10:44:49 作者: rapoo

一个统一管理的例子,用观察者模式实现
如有这么一个需求


平台中需要实现一个统一管理的功能

实现方式1:

平台中定义类 CommonQuery.java ,且有Map<key,Object> 如 put(1,new Query1())
个子类都注册 CommonQuery

在平台中执行的时候 ,会根据Map的值遍历 ,然后调用个子系统的方法


实现方式2:
采用观察者模式

示例代码如下:

QueryMain.java




Query02.java


Test.java
package test02;public class Test{    public static void main(String[] args)    {        QueryMain queryMain = QueryMain.getInstance();        Query01 query01 = new Query01();        Query02 query02 = new Query02();        queryMain.addObserver(query01);        queryMain.addObserver(query02);        QueryMain.getInstance().doQuery("2013");        System.out.println("-------------");        for (String s : queryMain.getListAll())        {            System.out.println(s);        }                QueryMain.getInstance().doQuery("2014");        System.out.println("-------------");        for (String s : queryMain.getListAll())        {            System.out.println(s);        }                            }}

读书人网 >软件架构设计

热点推荐