设计模式笔记之 - State
摘要:在State模式中,派生类持有回指向上下文类的引用,派生类的主要功能是使用这个引用选择并调用上下文类中的方法。在Strategy模式中,不存在这样的限制以及意图,Strategy的派生类不必支持有指向上下文类的引用,并且也不需要去调用上下文类的方法。
阅读全文
posted @
2005-09-25 15:39
dragonpro
阅读(473)
推荐(0)
设计模式笔记之 - Visitor
摘要:Visitor模式系列允许在不更改现有类层次结构的情况下向其中增加新方法。
阅读全文
posted @
2005-09-24 12:29
dragonpro
阅读(398)
推荐(0)
设计模式笔记之 - Proxy & Stairway to heaven
摘要:此模式主要用在跨越障碍的情况下在参与者都不知晓的情况下被插入到应用中,这是Proxy的优点,但是随之也带来了复杂度。
阅读全文
posted @
2005-09-22 19:02
dragonpro
阅读(1009)
推荐(0)
设计模式笔记之 - Abstract Server & Adapter & Bridge
摘要:模式既可以带来好处也可以带来坏处,它的坏处就是不必要的复杂性,它应该使用在那些最需要最合适的地方。
阅读全文
posted @
2005-09-21 12:56
dragonpro
阅读(719)
推荐(0)
设计模式笔记之 - Observer
摘要: 此模式主要充当观察者,观察程序的动向。Observer有两种主要模型,“推”和“拉”。拉模型的优点是它实现起来比较简单,并且易于重用。推模型的Observer模型可以为我们提供让客户程序知道发生了哪些变化。
阅读全文
posted @
2005-09-20 10:31
dragonpro
阅读(379)
推荐(0)
设计模式笔记之 - Composite
摘要:Composite模式是一个比较简单但具有深刻内涵的模式。此模式使用代理机制,屏蔽掉其他单个的接口实现,表现得就像是一个实现接口的,不过,实际上它只是一组实例的代理。
阅读全文
posted @
2005-09-20 10:30
dragonpro
阅读(350)
推荐(0)
设计模式笔记之 - Factory
摘要:为了征询DIP原则,在很多情况下都不能与具体类实例相关联,用NEW关键字就违反了这一原则,当然一些不会改变的类,比如String这些是没必要隔离什么的。如果具体类是非常易变的,依赖就会带来问题,那么怎样避免使用具体的类呢,这就是Factory的用武之地。
阅读全文
posted @
2005-09-20 10:27
dragonpro
阅读(424)
推荐(0)
设计模式笔记之 - NULL OBJECT
摘要:此模式意在防止返回空引用,用空对象代替空引用。也就是代替null,这样在客户端处理的时候就不用关心返回的是不是空引用了,少了判断或Try…Catch语句的开销。 这就需要一个匿名的表示空值的实例,只是此实例无论执行什么方法都是无效的,我感觉在.NET中这种模式实现起来比较复杂,还不如返回null在程序里判断,就像: If(e != null && e.Method1()) { ...
阅读全文
posted @
2005-09-20 10:23
dragonpro
阅读(510)
推荐(0)
设计模式笔记之 - Singleton & Monostate
摘要:这两个模式的作用都是为了使对象具有唯一性的特征,只是在实现上稍有差别,Singleton一般使用类的静态方法返回类的实例从而构造对象,这样可以先判断对象是否创建,如果创建就使用已创建的对象,这样保持了对象的唯一性,这在与构造一般对象时有所不同。Monostate模式表示用静态变量存储类的字段,这样,无论有多少个对象,所处理的内部字段都是一样,从而达到的效果也是一样,它在使用上与一般的对象是没有差别的,只是也能通过继承方便的派生出其他对象。
阅读全文
posted @
2005-09-20 10:22
dragonpro
阅读(556)
推荐(0)
设计模式笔记之 - Façade & Mediator
摘要:这两个模式是应用比较广泛也是比较有用的模式之一,其中设计范围广并且可见,那么可以用Façade,另一方面,如果策略隐蔽,并且有针对性,那么可以用Mediator模式。
阅读全文
posted @
2005-09-14 14:28
dragonpro
阅读(414)
推荐(0)
设计模式笔记之 -Template Method & Strategy
摘要:Template Method和Strategy模式都可以用来分离高层算法和低层的具体实现细节,都允许高层算法独立于它的具体实现而重用,此外Strategy还提供了具体实现细节独立于高层算法的重用,不过为此付出的代价就是代码的复杂性提高了,增加了运行开销。
阅读全文
posted @
2005-09-12 18:10
dragonpro
阅读(495)
推荐(0)
设计模式笔记之 - Command & Active Object
摘要:Command模式的简单性掩盖了它的多功能性。Command模式可以应用于多种不同的美妙的用途,范围设计数据库和事务操作、设备控制、多线程核心以及GUI的do/undo管理。
阅读全文
posted @
2005-09-12 17:44
dragonpro
阅读(722)
推荐(0)