Jerome Kwok〖旧日的足迹〗

仁者不忧,知者不惑,勇者不惧
posts - 0, comments - 0, trackbacks - 0, articles - 81
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

设计模式

     摘要: 访问者模式作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.  阅读全文

posted @ 2009-07-03 16:04 Jerome Kwok| 编辑 |

     摘要: Interpreter模式也类似于Composite模式。Composite模式通常会为单个对象和群组对象定义一个公共接口。不过,Composite模式并不要求支持以不同方式组织的结构,尽管该模式可以支持这些结构。例如,介绍Composite模式时曾描述过ProcessComponent类层次结构,该结构允许生产流程顺序进行,也允许生产流程交替进行。Interpreter模式通常都会涉及不同类型的组合结构(Interpreter模式通常处于Composite模式结构之上)。一个类组成其他组件的方式定义了解释器类实现或解释一个操作的方式。
  阅读全文

posted @ 2009-07-03 15:00 Jerome Kwok| 编辑 |

     摘要: 享元模式,高效的支持细粒度的对象。享元对象能做到共享的关键是区分内蕴状态和外蕴状态,一个内蕴状态是存储在享元对象内部的,并不会随环境的变化而变化,因此,一个享元可以具有内蕴状态并可以共享。一个外蕴状态是随环境变化而变化的,不可以共享。享元对象的外蕴状态必须由客户端保存,并在享元对象后被创建之后,在需要使用的时候再传入到享元对象内部。外蕴状态不能影响内蕴状态,即相互独立。  阅读全文

posted @ 2009-07-03 12:10 Jerome Kwok| 编辑 |

     摘要: 用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。  阅读全文

posted @ 2009-07-03 11:36 Jerome Kwok| 编辑 |

     摘要: 职责链模式其实也挺简单的。通俗的来说就是当一个请求发到我这里,我能处理就给处理,不能处理就推给其他人去处理。也就是说接受请求的对象形成一个链,请求在这个链上传递,直到链上的某一个对象决定处理此请求。
  阅读全文

posted @ 2009-07-03 11:06 Jerome Kwok| 编辑 |

     摘要: 命令模式:主要实现的是把客户的各种请求和操作封装到一个命令对象中,从而达到把命令的请求和对命令的具体执行两者之间的关系相互分离的目标;同时还能对命令的请求者以统一的形式进行命令请求(功能调用),并委派给不同的对象   阅读全文

posted @ 2009-07-03 10:09 Jerome Kwok| 编辑 |

     摘要: 桥梁模式【GOF95】是对象的结构模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。  阅读全文

posted @ 2009-07-02 17:12 Jerome Kwok| 编辑 |

     摘要: 单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。
单例模式有一下特点:
1、单例类只能有一个实例。
2、单例类必须自己自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
  阅读全文

posted @ 2009-07-02 16:33 Jerome Kwok| 编辑 |

     摘要: 迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。  阅读全文

posted @ 2009-07-02 15:04 Jerome Kwok| 编辑 |

     摘要: 组合模式,一般就是“整体,部分”的概念,在java与模式中举了一个大家经常听过的故事,很形象,从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的内容是:从前有座山......一直这样下去。从这里看出,整体是这个故事,故事里面的故事则是部分。这也是一个简单的组合模式。   阅读全文

posted @ 2009-07-02 12:01 Jerome Kwok| 编辑 |

     摘要: 备忘录(memento)模式又叫快照(snapshot)模式或者token模式,主要功能:备忘录模式是用一个对象来存储另外一个对象的内部状态的快照,实现备忘录模式的关键点是在不破坏封装的
情况下,将一个对象的状态捕捉住,并外部化,存储起来,从而可以在合适的时候,把这个对象还原。  阅读全文

posted @ 2009-07-02 10:42 Jerome Kwok| 编辑 |

     摘要: 通常,客户类(clients of class)通过类的接口访问它提供的服务。有时,现有的类(existing class)可以提供客户类的功能需要,但是它所提供的接口不一定是客户类所期望的。这是由于现有的接口太详细或者缺乏详细或接口的名称与客户类所查找的不同等诸多不同原因导致的。
  阅读全文

posted @ 2009-07-02 09:21 Jerome Kwok| 编辑 |

     摘要: 状态模式的两个原则:
1.有几个动作就有几个方法,一个动作可能对应多个状态转换,这些方法都定义在同一个接口里。
2.有几个状态就有几个实现上述接口的类。
  阅读全文

posted @ 2009-07-01 17:32 Jerome Kwok| 编辑 |

     摘要: 观察者(Observer)模式是对象的行为型模式,又叫做发表-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-收听者(Source/Listener)模式或从属者(Dependents)模式。  阅读全文

posted @ 2009-07-01 12:03 Jerome Kwok| 编辑 |

     摘要: 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。
  阅读全文

posted @ 2009-07-01 10:34 Jerome Kwok| 编辑 |

     摘要: 外观模式(Façade pattern)涉及到子系统的一些类。所谓子系统,是为提供一系列相关的特征(功能)而紧密关联的一组类。例如,一个Account类、Address类和CreditCard类相互关联,成为子系统的一部分,提供在线客户的特征。  阅读全文

posted @ 2009-07-01 09:23 Jerome Kwok| 编辑 |

     摘要: 模板方法(Template Method)模式是GOF设计模式中最为常见几个模式之一。现在流行的很多框架中(如Spring,struts等),我们都可以看到模板方法模式的广泛应用。模板方法模式主要应用于框架设计中,在日常的应用设计中也被经常使用。
  阅读全文

posted @ 2009-07-01 08:18 Jerome Kwok| 编辑 |

     摘要: 原型模式定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.
Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。

  阅读全文

posted @ 2009-06-30 11:59 Jerome Kwok 阅读(104) | 评论 (0)  编辑 |

     摘要: 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。   阅读全文

posted @ 2009-06-30 10:39 Jerome Kwok 阅读(111) | 评论 (0)  编辑 |

     摘要: 装饰模式其实就在我们的身边,在J2SE I/O 类库中,大量采用了装饰模式。比如流的使用让很多人比解其妙,当你熟悉了装饰模式,你在使用流就会感觉轻松多了。  阅读全文

posted @ 2009-06-29 15:43 Jerome Kwok 阅读(130) | 评论 (0)  编辑 |

     摘要: 策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。  阅读全文

posted @ 2009-06-29 11:40 Jerome Kwok 阅读(130) | 评论 (0)  编辑 |

     摘要: 工厂模式主要是为创建对象提供了接口。工厂模式按照《Java与模式》中的提法分为三类:
1. 简单工厂模式(Simple Factory)
2. 工厂方法模式(Factory Method)
3. 抽象工厂模式(Abstract Factory)
  阅读全文

posted @ 2009-06-29 11:24 Jerome Kwok 阅读(103) | 评论 (0)  编辑 |