随笔分类 -  DesignPatterns

设计模式减少你的工作量
摘要:声明:前两天正好在看CAB的代码,看到ObjectBuilder,今天看到Terrylee的文章,想对此问题进行讨论,发表一下我的看法。概述:组合模式的作用是将几个单一的对象组成一个复杂的对象,复杂的对象又能组成更复杂的对象.而客户端并不需要知道其调用对象的细节,因为它们的接口是一致的.首先:我们来研究一下,客户端如何使用Locator的。在Logging Libarary中LocatorName... 阅读全文
posted @ 2006-03-13 16:44 wanghualiang 阅读(860) 评论(1) 推荐(0)
摘要:上次我写了一篇关于静态类工厂的文章,谢谢大家的关心,不过有很多的读者都表示看不太懂,我这里举一个详细的例子和他家讨论一下.如果大家在自己的项目中有用到这样的模式的话,有兴趣可以展示出来,大家一起讨论,谢谢.我这里的例子是微软的ExceptionBuilder类,这是一个完全有静态方法组成的类.而且所有方法都返回一个Exception的类.例如其中的一个方法 internal class Exce... 阅读全文
posted @ 2005-09-05 18:53 wanghualiang 阅读(2602) 评论(3) 推荐(0)
摘要:我们经常会碰到这样的情况,不需要通过调用构造函数,就可以获得结构或类的实例。如果采用普通的Factory构建方式的法,往往需要创建类工厂的实例,然后调用其中的函数来获得你所需要类的实例。其实很多情况下,类工厂的实例并不需要。实现方式:类工厂中的创建函数都声明为静态函数,public static Product CreateProudctA(); class ClassFactory{ pub... 阅读全文
posted @ 2005-08-30 18:33 wanghualiang 阅读(3160) 评论(12) 推荐(0)
摘要:18、MEMENTO—同时跟几个MM聊天时,一定要记清楚刚才跟MM说了些什么话,不然MM发现了会不高兴的哦,幸亏我有个备忘录,刚才与哪个MM说了什么话我都拷贝一份放到备忘录里面保存,这样可以随时察看以前的记录啦。 备忘录模式:备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捉住,并外部化,存储起来,从而可以在将来合适的时候... 阅读全文
posted @ 2005-08-10 22:25 wanghualiang 阅读(791) 评论(0) 推荐(0)
摘要:11、FLYWEIGHT—每天跟MM发短信,手指都累死了,最近买了个新手机,可以把一些常用的句子存在手机里,要用的时候,直接拿出来,在前面加上MM的名字就可以发送了,再不用一个字一个字敲了。共享的句子就是Flyweight,MM的名字就是提取出来的外部特征,根据上下文情况使用。 享元模式:FLYWEIGHT在拳击比赛中指最轻量级。享元模式以共享的方式高效的支持大量的细粒度对象。享元模式能... 阅读全文
posted @ 2005-08-10 22:24 wanghualiang 阅读(699) 评论(0) 推荐(0)
摘要:1、FACTORY一追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向... 阅读全文
posted @ 2005-08-10 22:23 wanghualiang 阅读(849) 评论(0) 推荐(0)
摘要:Design Pattern 新解什麼是 Design Pattern?許多人一講到 Design Pattern,就會扯到什麼建築設計,因為他們全都是看四人幫的「Design Patterns」經典本的解釋,沒消化就照單全收。 如果不能用更生活化的方式解釋 Design Pattern,我會懷疑他們是不是真的瞭解 Design Pattern 的真義。什麼是 PatternPattern 最簡單... 阅读全文
posted @ 2005-08-10 17:13 wanghualiang 阅读(854) 评论(0) 推荐(0)