摘要:                    
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0状态模式自身结构非常简单——前面刚刚介绍了几个结构比较简单的设计模式,和他们一样,状态模式在具体实现上留下了可变换的余地。我前面已经介绍过它的孪生兄妹策略模式了,大家可以两者比较着阅读。本文将会讨论两者的区别。二、定义与结构GOF《设计模式HighqualitySunglasses》中给状态模式下的定义为:允许一个对象在其内部状态改变时改变它的行为。这个对象看起来似乎修改了它的类。看起来,状态模式好像是神通广大——居然能够“修改自身的类”!能够让程序根据不同的外部情况来做出不同的                阅读全文
            
        随笔档案-2011年7月26日
策略模式
2011-07-26 17:10 by 卫佳, 264 阅读, 收藏,
摘要:                    
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0策略模式(Strategy)属于对象行为型设计模式,主要是定义一系列的算法,把这些算法一个个封装成拥有共同接口的单独的类,并且使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。这里的算法不要狭义的理解为数据结构中算法,可以理解为不同的业务处理方法。这种做法会带来什么样的好处呢?它将算法的使用和算法本身分离,即将变化的具体算法封装了起来,降低了代码[CheapReadingglasses]的耦合度,系统业务策略的更变仅需少量修改。算法被提取出来,这样可                阅读全文
            
        访问者模式
2011-07-26 17:09 by 卫佳, 415 阅读, 收藏,
摘要:                    
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0对于系统中一个已经完成的类层次结构,我们已经给它提供了满足需求的接口。但是面对新增加的需求,我们应该怎么做呢?如果这是为数不多的几次变动,而且你不用为了一个需求的调整而将整个类层次结构统统地修改一遍,那么直接在原有类层次结构上修改也许是个不错的主意。但是往往我们遇到的却是:这样的需求变动也许会不停的发生;更重要的是需求的任何变动可能都要让你将整个类层次结构修改个底朝天……。这种类似的操作分布在不同的类里面,不是一个好现象,我们要对这个结构重构一下了。那么,访问者模式也许是你很好的                阅读全文
            
        模板模式
2011-07-26 17:08 by 卫佳, 204 阅读, 收藏,
摘要:                    
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0 这是一个很简单的模式,却被非常广泛的使用。之所以简单是因为在这个模式中仅仅使用到了继承关系。继承关系由于自身的缺陷,被专家们扣上了“罪恶”的帽子。“使用委派关系代替继承关系”,“尽量使用接口实现而不是抽象类继承”等等专家警告,让我们这些菜鸟对继承“另眼相看”。其实,继承还是有很多自身的优点所在。只是被大家滥用的似乎缺点更加明显了。合理的利用继承关系,还是能对你的系统设计起到很好的作用的。而模板方法模式就是其中的一个使用范例。二、定义与结构模板方法(TemplateMethodB                阅读全文
            
         
                    
                 浙公网安备 33010602011771号
浙公网安备 33010602011771号