.NET乐园
一个梦想,一个行动…… (欢迎光临我的淘宝http://pipis.taobao.com,专营户外手电筒、头灯、营地灯、自行车灯)

        从学习设计模式到现在有3个月了,原计划2个月学完,因为这段时间工作比较忙有所耽搁,所以直到现在才把书和视频啃完。经过这段时间的学习,学到了很多东西,主要是对OO有了更多的认识,以前的的认识不过是语言层面的,而现在在设计层次有了更多认识。李建忠老师的视频真的很有用,之前看设计模式这本书都是雾里看花,不是看得很清楚,理解也不到位,甚至觉得很苦涩,通过他视频的重新梳理,回过头来理解设计模式这本书的内容来是如此的轻松!这也使我真正体会到了这本书的巨大价值,他没有提供很多实际性的例子,但是在思想上给了我们很大的提高。在我现在所做的项目中,已经开始应用这些模式,也许用得不是很好,但是至少是个好的开始。这两天在china-pub上找《面向对象分析和设计》、《敏捷软件开发:原则、模式与实践》这两本书,第一本好像翻译得不怎么样,而且第三版也出了很久了但是一直都没引进,所以暂时买第二本吧,昨天已经下订单了,希望明天能到货。还是来简要回顾下各个设计模式。
        1、创建型模式:
        Singleton:限制实例化对象的个数,比如抽象工厂中的工厂、对象池等。
        Abstract Factory:创建一系列相互依赖对象,并能在运行时改变系列。
        Factory Method:创建单个对象,在Abstract Factory有使用到。
        Prototype:通过拷贝原型原型对戏那个来创建新的对象。
        2、组合模式
        Adapter:实现接口转换,用于旧代码复用、类库迁移等。
        Bridge:实现抽象和实现的分离,支持对象多维度的变化。
        Composite:屏蔽对象容器内部实现结构,实现对象和对象容器使用的一致性。
        Decorator:实现对象功能的扩展,避免子类膨胀。
        Facade:屏蔽各子系统的复杂性,提供更高层接口供客户访问。
        Flyweight:通过共享大量细粒度对象,提供系统性能。
        Proxy:通过增加间接代理,实现更多控制,屏蔽复杂性。
        3 、行为型模式
        Chain of Responsibility:动态构建职责链,实现事务处理。
        Command:将一组行为抽象为对象,实现行为请求者和行为实现者之间的解耦。
        Interpreter:将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子,从而达到解决问题的目的。
        Iterator:屏蔽集合对象内部复杂结构,提供客户程序对它的透明遍历。
        Mediator:封装一系列对象之间的复杂交互,使他们不需要显式相互引用,实现解耦。
        Observer:实现对象状态改变,通知依赖它的对象并更新。
        Memento:实现对象状态保存及恢复。
        State:封装对象状态,从而在其内部状态改变时改变它的行为。
        Strategy:封装一系列算法,从而可以随时独立于客户替换算法。
        TemplateMethod:定义算法骨架,通过子类虚函数重写实现子方法的改变。
        Visitor:在类层次结构中,在不改变各类的前提下定义作用于这些类实例的新的操作。
        设计之路刚刚开始,还需继续努力


 

posted on 2007-09-06 23:41  Charly  阅读(480)  评论(0编辑  收藏  举报