
design pattern
DustinCheung
这个作者很懒,什么都没留下…
展开
-
IoC/DI
IoC( Inversion of Control ,控制反转) 是很多轻量级容器广泛使用的模式,其中比较著名的就有Spring,HiveMine,PicoContainer等.IoC的来龙去脉 Matin Fowler 作了比较详细的描述,而且为IoC另外取了个名字,Dependence Injection(DI, 依赖注入),使其更加名副其实.王咏武 也在文章中对与IoC相关的几个概念...2007-01-02 22:35:30 · 128 阅读 · 0 评论 -
代理,动态代理,反射
Java中Proxy,Dynamic Proxy以及Reflection是什么关系呢?谈这个问题之前,我们要先了解三者究竟是什么东西。 一、Proxy。面向对象中Proxy是比较常用的,作为GOF 23个模式之一,Proxy在Design Patterns一书中有着详细的描述。Proxy的使用范围很广,下面以一个简单的访问控制为例。在这种情况下,外部使用者要想使用某个对象,必须通过该对象的...2007-01-02 22:44:19 · 131 阅读 · 0 评论 -
Bridge模式在JDBC中是如何体现的呢?
Bridge模式的目的在于实现抽象(Abstraction)和实现(Implementor)的分离,具体参与者有 Abstraction, RefindAbstraction, Implementor和ConcreteImplementor。那么在一个具体的JDBC应用中,各个类是如何分别组织到Bridge模式的四个参与者中呢?java.sql.Driver作为Implementor,而各个...2007-03-09 22:32:25 · 250 阅读 · 0 评论 -
EventMachine: Reactor in Ruby
前段时间用C++实现过Reactor模式,今天看到InfoQ上对 EventMachine 的介绍,原来也是基于该模式的一个框架,很想借鉴一下成熟作品的实现方式。Google了一下 Reactor Pattern,原来已经有很多成熟作品了: The ADAPTIVE Communication Environment (C++) Apache MINA (Java)...2008-08-03 21:05:15 · 259 阅读 · 0 评论 -
Delegation VS Notification
Delegation: 消息的发送者(sender)告知接收者(receiver)某个事件将要发生,delegate机制使得接收者可以改变发送者的行为。通常发送者和接收者的关系是直接的一对多的关系。Notification: 消息的发送者告知接收者事件已经发生或者将要发送,仅此而已,接收者并不能反过来影响发送者的行为。通常发送者和接收者的关系是间接的多对多关系。Referen...2007-11-09 20:01:17 · 190 阅读 · 0 评论 -
工厂方法和抽象工厂
最初发表在这里。 工厂方法的使用者可能会面临两种情况:第一种情况是对于某个产品,我清楚地知道应该使用哪个具体工厂为我服务,于是,我实例化该具体工厂,生产出具体的产品来。Java Collection中的iterator() 方法即属于这种情况。第二种情况,我只是需要一种产品,而不想知道也不需要知道究竟是哪个工厂为我生产的,即最终选用哪个具体工厂的决定权在生产者一方,它们根据当...2009-04-06 22:19:55 · 143 阅读 · 0 评论