2008-04-04

设计模式之组合模式(Composite)

关键字: 组合模式(composite)
  Composite定义,将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.注意:"部分-整体"应具有共同的接口或者是抽象类.Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形容。Composite好处:1.使客户端调用简单,客户端可以一致的使用组合结构或其中单个对象,用户就不必关系自己处理的是单个对象还 ...
2008-03-21

设计模式之命令(State)模式

关键字: 状态模式
     状态模式是在程序开发时,经常用到的模式。如果没有应用过,而实现业务功能。那你也一定是按照状态模式的路子走的,只不过你没有感觉到而已。它的实现,是要根据对象的内部状态变化,而自动执行相应的功能。费话就不说了,请看一下源代码,这也是我研究设计模式时看到的一个例子,把其翻译成中文,使个位网友能够看懂些,由于水平有限,只能达到这样,还希望网友多指证,也算是抄来的哈哈,谢谢啊。public class GumballMachine { //这就是那4个状态,每个状态都用一个不同的整数代表,他们符合状态图 final static in ...
     Command定义如下: 将来自客户端的请求传入一个对象,无需了解这个请求激活的动作或有关接受这个请求的处理细节。是不是有点迷糊。不知其说的是啥。哈哈。别着急下面听我慢慢到来。 本人觉得,命令模式就是把一些具体的命令封装成一此具体的类,这此类实现同一个接口或者是抽象类。然后把这些类组织到起,然后统一来执行,完成一个具体的业务流程。 它的优点是:解藉了发送者与接收者之间的联系。发送者调用一个操作,接收者接受请求执行相应的动作,说白了就是调用一个具体的类来执行相应的方法。因为使用Command模式解耦,发送者无需知道接受者任何接 ...
2008-03-05

设计模式之策略模式(Strategy)

关键字: 策略模式(strategy)
         策略模式的用意是针对一组算法或者说实现,将每一个算法(实现)封装到具有共同接口(抽象类)的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。使用策略模式可以把行为和环境分割开来。        环境类负责维持和查询行为类,各种算法则在具体策略中提供。由于算法和环境独立开来,算法的修改都不会影响环境和客户端。 先来看一没有用策略模式的类:public class Output { ...
2008-02-24

利用JS在两个窗体之间传递值。

关键字: 利用js在两个窗体之间传递值。
需求:   在两个窗体之间传递消息。即:在父窗体处查询需要的数据。子窗体显示数据,在子窗体中选择一条需要数据,然后把其主健值回传给父窗体,后子窗体关闭。注意:在子窗体处只能有一条数据被选中。代码如下:function check(obj,xh){ var el = document.getElementsByTagName("input"); for(var i=0;i<el.length;i++){ if((el[i].type=="checkbox")&&(el[ ...
2008-02-23

MSXML2.DOMDocument.3.0从XML中读取数据

关键字: 读取xml数据
先有一个XML数据:<?xml version="1.0" ?> <Order> <Account>9900234</Account> <Item id="1"> <SKU>1234</SKU> <PricePer>5.95</PricePer> <Quantity>100</Quantity> <Subtotal>595.00</Subtotal> ...
2008-02-22

用JS and DOM生成表格

关键字: 动态生成表格
<script language="javascript"> function start(){ mybody = document.getElementsByTagName ("body").item(0); mytable = document.createElement("TABLE"); mytablebody = document.createElement("TBODY"); for(j=0;j<2;j ...
2008-02-22

DOM和JAVASCRIPT访问页面上的元素

关键字: dom和javascript
访问方法:getElementById():返回拥用传递给该方法的指定id的第一个对象的引用。getElementsByName():返回拥用传递该方法的指定name的对象集合。getElementsByTagName():返回拥用传递给该方法的指定tag名称的对象集合。如果在页面上有一个表格,功能描述:获得记录数://要把表头去掉。 function getReorderCount(){ var reocrders = document.getElementsByTagName("tr"); return reocrders.length -1; }也可以 ...
2008-02-17

设计模式之--动态代理

关键字: 动态代理
    动态代理类是一个在运行时由开发人员所指定的一列接口的实现。动态代理接口是一种由代理类实现的接口,并且是一个java.lang.reflect.Proxy类的实例。每一个代理实例都与一个调用处理器对象相联,这个调用处理器实现了java.lang.reflect.InvocationHandler接口。在代理实例上的一个方法调用是通过其中之一的代理接口被转发到与这个代理实例相联的调用处理的invoke方法上。一个java.lang.reflect.Method对象会决定那一个方法会被调用,一个类型为java.lang.Object的数组包含调用的参数。调用处理 ...
动态代理的背后思想是在一个对象的周围插入动态的行为但不改变对象的已有代码和接口。装饰器模式提供一种不必改变对象代码就可以装饰一个对象(改变它的行为)并向其增加横切面的方法。现在就用静态的装饰来实现具体的业务功能 首先有一个简单业务接口:public interface IMyBusinessObject { public String doExecute(String in); }  这个接口有一个业务对象类的实现。public class MyBusinessObject implements IMyBusinessObject { public Strin ...
cljspn
搜索本博客
我的相册
61a67798-9c45-4fa5-ad0a-1c8dd1085057-thumb
美女
共 1 张
存档
最新评论