- 浏览: 551112 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (350)
- Sybase (30)
- SQL SERVER2005 (14)
- 数据库 (27)
- SSH框架 (27)
- WebService (21)
- 下载-软件收藏 (15)
- 随笔-日常使用 (9)
- Flex 相关 (13)
- Linux (11)
- Web (64)
- XML相关 (9)
- Socket相关 (1)
- Elipse (3)
- 统计报表 (11)
- 线程相关 (3)
- Java相关 (37)
- JAVASCRIPT (19)
- JAVA反射 (3)
- JSP标签 (3)
- 随笔-其他 (2)
- 随笔-设计模式 (3)
- 随笔-架构师相关 (1)
- 下载-源码 (7)
- 下载-帮助文档 (1)
- 下载-插件 (6)
- 技术-.NET (2)
- 技术-Excel VBA (8)
- 应用-地图相关 (2)
- 应用-GSM短信猫 (5)
- 应用-单点登录 (3)
- Android相关 (3)
最新评论
-
sucheng2016:
发现jconn4.jar 里面有getBlob(String) ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
sucheng2016:
java.lang.UnsupportedOperationE ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
ok123zxx:
没下文了吗
通过 Tomcat Advanced I/O 获得高性能的 Ajax tocmat6+CometProcessor -
q1345111:
大家这个问题 尚未完成方法 com.sybase.jdbc3. ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
bdk82924:
<div class="quote_title ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver
如有这么一个需求
平台中需要实现一个统一管理的功能
实现方式1:
平台中定义类 CommonQuery.java ,且有Map<key,Object> 如 put(1,new Query1())
个子类都注册 CommonQuery
在平台中执行的时候 ,会根据Map的值遍历 ,然后调用个子系统的方法
实现方式2:
采用观察者模式
示例代码如下:
QueryMain.java
AbsQuery.java
Query01.java
Query02.java
Test.java
平台中需要实现一个统一管理的功能
实现方式1:
平台中定义类 CommonQuery.java ,且有Map<key,Object> 如 put(1,new Query1())
个子类都注册 CommonQuery
在平台中执行的时候 ,会根据Map的值遍历 ,然后调用个子系统的方法
实现方式2:
采用观察者模式
示例代码如下:
QueryMain.java
package test02; import java.util.ArrayList; import java.util.List; import java.util.Observable; public class QueryMain extends Observable { private static QueryMain instance; public static QueryMain getInstance() { if (instance == null) { instance = new QueryMain(); } return instance; } private QueryMain() { } private String starTime; /** * 查询的结果 */ private List<String> listAll = new ArrayList<String>(); /** * * 查询的参数 * * @param startTime * @author * @date 2013-1-11 上午06:14:20 */ public void doQuery(String startTime) { this.starTime = startTime; this.listAll = new ArrayList<String>(); this.setChanged(); this.notifyObservers(); } /** * @return the starTime */ public String getStarTime() { return starTime; } /** * @param starTime * the starTime to set */ public void setStarTime(String starTime) { this.starTime = starTime; } /** * @return the listAll */ public List<String> getListAll() { return listAll; } /** * @param listAll * the listAll to set */ public void setListAll(List<String> listAll) { this.listAll = listAll; } }
AbsQuery.java
package test02; import java.util.Observable; import java.util.Observer; public abstract class AbsQuery extends Observable implements Observer { @Override public void update(Observable o, Object arg) { doQuery((QueryMain) o); } public abstract void doQuery(QueryMain queryMain); }
Query01.java
package test02; public class Query01 extends AbsQuery { @Override public void doQuery(QueryMain queryMain) { // System.out.println("Query01 doQuery :" + queryMain.getStarTime()); queryMain.getListAll().add("Query01....1"); queryMain.getListAll().add("Query01....2"); queryMain.getListAll().add("Query01....3"); } }
Query02.java
package test02; public class Query02 extends AbsQuery { @Override public void doQuery(QueryMain queryMain) { // System.out.println("Query02 doQuery :" + queryMain.getStarTime()); queryMain.getListAll().add("Query02....1"); queryMain.getListAll().add("Query02....2"); queryMain.getListAll().add("Query02....3"); } }
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); } } }
发表评论
-
Docker 开源的应用容器引擎
2015-05-17 21:15 754Docker 是一个开源的应用容器引擎,让开发者可以打包他们 ... -
Ext Textfield框必填项 *号
2014-03-10 16:59 2624方法1:在items中加*号 var shortNam ... -
Struts2中查看Action配置的插件 -- Config Browser Plugin
2014-03-06 09:38 937(摘自官方介绍: http://struts.apache.o ... -
基于Spring的Rest服务中乱码问题
2013-12-10 18:45 15539Spring搭建的Rest服务端 在使用客户端调用Rest ... -
tomcat 报 “too many open files Too many open files" 问题的解决思路
2013-11-03 01:43 1592转:http://blog.csdn.net/big1980/ ... -
jsp的合并单元格
2013-05-27 08:59 1515合并单元格 <!DOCTYPE HTML PUBL ... -
tomcat 启动报错,日志不全如何检查
2013-04-10 15:30 1886有的时候由于某个配置错误,导致tomcat启动失败,但是呢日志 ... -
通过 Tomcat Advanced I/O 获得高性能的 Ajax tocmat6+CometProcessor
2013-03-20 16:02 2916最近项目上有个需求用到了Tomcat的后台推送技术,采用了非阻 ... -
表头固定表格jquery.chromatable
2013-03-09 14:08 1334直接上图吧 -
Spring MVC的使用
2013-02-07 15:42 789以前一直使用Struct2的MVC框架,感觉挺好用的,也 ... -
转 TortoiseSVN中分支和合并实践
2013-01-31 11:13 833转 TortoiseSVN中分支和合并实践 http://p ... -
Git的使用
2013-01-31 09:24 1726版本控制 从最早使用vs ... -
管理JDBC连接池jar包c3p0
2013-01-29 11:45 1516com.mchange.v2.c3p0.ComboPooled ... -
DbUtils的使用
2013-01-28 19:56 1220DbUtils的使用 今天在看一段源码的时候,看到了可以使用 ... -
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver
2013-01-28 19:48 13200com.sybase.jdbc3.jdbc.SybDriver ... -
Apache+tomcat配置集群
2013-01-22 19:30 971直接上图 下载 http://download.cs ... -
Apache + Tomcat 配置多个应用
2013-01-22 19:05 1108今天在网上发现一篇帖子 ,Apache + Tomcat 配置 ... -
RSS的读取和发布
2013-01-22 15:53 1672这几天研究了RSS RSS(简易信息聚合,也叫聚合内容)是 ... -
短网址的原理和实现
2013-01-22 15:36 15303微博上经常会看到类似 http://t.cn/Afafhe 这 ... -
Tomcat7.0下实现的websocket 代码
2013-01-07 19:37 937测试环境: JDK1.6 Tomcat7.0.30 ...
相关推荐
在园里有许多牛人都已经写过这些文章,不过大多的例子都是.NET,今天我要举一个JS的使用实例.有兴趣的朋友可以先了解一下一些牛人的,比如李会军大哥设计模式篇中观察者的那一节 ...
设计模式精解(Design Patterns Explained) ...如何实现关键模式——Strategy(策略)、Observer(观察者)、Bridge(桥接)、Decorator(装饰)等等。 共同点/变化点分析、设计模式以及它们如何帮助理解抽象类。
本书从一个新的视角描述面向对象设计,将...\r\n 如何实现关键模式——Strategy(策略)、Observer(观察者)、Bridge(桥接)、Decorator(装饰)等等。\r\n 共同点/变化点分析、设计模式以及它们如何帮助理解抽象类。
com.javapatterns.observerawt 专题:观察者模式与AWT中的事件处理 com.javapatterns.observersax 专题:观察者模式与SAX2浏览器 com.javapatterns.observertimer 专题:观察者模式与Swing定时器 ...
设计模式精解(Design Patterns Explained) ...如何实现关键模式——Strategy(策略)、Observer(观察者)、Bridge(桥接)、Decorator(装饰)等等。 共同点/变化点分析、设计模式以及它们如何帮助理解抽象类。
一个XSLT的简单例子 XSLXSLT板主题整理 xsl入门的好文章 新手学习XSL的好东西 XSL语法介绍 XSL学习心得 - 调用属性值 XSLT与XML转换的详细介绍 功能应用 读写搜索 基础教程 RSS Web2.0时代,RSS你会用了吗?(技术...
设计模式之 Observer(观察者) 介绍如何使用 Java API 提供的现成 Observer 设计模式之 Iterator(迭代器) 这个模式已经被整合入Java的Collection.在大多数场合下无需自己制造一个Iterator,只要将对象装入...
观察者模式命名:ResourceObserver。 多选 20.关于数据库模糊检索的描述,下列哪些说法符合《阿里巴巴Java开发手册》:ABD A .绝对禁止左模糊。 B .绝对禁止全模糊。 C .绝对禁止右模糊。 D .全模糊或左...