zoukankan      html  css  js  c++  java
  • (旧文重贴)昨夜看了严宏的《java与模式》

    这两天在作AutoUpdate,就是基于SmartClient方式的,客户端自动升级程序。本来我可以采用BITS(MS的一个service,WindowsUpdate即是基于它做的)来作,但是BITS有一个毛病。。。这个毛病等有时间在写。

    作AutoUpdate,我做了大约7个component UI,然后有5、6个utils,和一个mainform。每个ui之间不直接进行通讯,而是通过delegate把这个事件“上浮”,一直浮到某个“控制者”手中。在我的代码中,就是浮到了mainform上,然后由winform再调用适当的ui的某个方法把这些事件传递回去。这种方式,非常象proxy模式,或者说,很象.net remoting的远程通信模式。

    看了严宏的书,我猛然想起来,这个功能是完全可以用“责任链”来作的。我的应用基本上符合责任链的定义:消息或转发或扬弃、mainform负责每个ui的事件的调度。但是这种方式有一个很大的缺点,事件上浮造成的成本比较高。从我的感觉就能看出来,编码成本高、维护成本高、效率低。书中说,可以采用观察者模式来解决这个问题(他举的是j2ee中AWT1.0和1.1实现的差别)。

    晚上再看看吧!

    2003年12月28日 8:54

  • 相关阅读:
    496. 下一个更大元素 I『简单』
    492. 构造矩形『简单』
    443. 压缩字符串『简单』
    455. 分发饼干『简单』
    463. 岛屿的周长『简单』
    38. 外观数列『简单』
    28. 实现 strStr()『简单』
    441. 排列硬币『简单』
    628. 三个数的最大乘积『简单』
    575. 分糖果『简单』
  • 原文地址:https://www.cnblogs.com/juqiang/p/6258.html
Copyright © 2011-2022 走看看