`

GOF的设计模式

阅读更多

GOF:
Erich Gamma
Richard Helm
Ralph johnson
John  Vissides
--------------------------------------
GOF写的书中涉及到了23种设计模式。设计模式还有很多,这23种可能是最常见的。
因为国内写设计模式方面书籍的人也有好几个了,好像他们的书里讲到了不止这23
个模式,我没看过这些书。不管怎么说,设计模式是一种经验的总结,从而变成了一
种可学习的智慧,真的很佩服他们的才智和贡献精神。
--------------------------------------
创建型模式:
    创建型模式抽象了对象的实例化过程。他们帮助系统独立于如何创建、组合和表示
它的那些对象。对于类创建型模式,使用继承改变被实例化的类。对于对象创建型模式
将被实例化委托给另一个对象。
    随着系统演化的越来越依赖对象的复合而不是继承,创建型模式变的更为重要。当
中情况发生时,重心从对一组固定行为的硬编码转移为定义一个较小的基本行为集合,
这些行为集合可以被组合成任意数目的更复杂的行为。
    在这些模式中,有两个不断出现的主旋律。一,他们都将关于该系统使用那些具体
的类信息封装起来。二,他们隐藏了这些类的实例是如何被创建和放在一起的。
    创建式模式在什么被创建,谁创建它,它是怎么被创建的,何时创建这些方面给予
很大的灵活性。
    GOF的5种创建型模式:
    1.Abstract Factory
    2.Factory method
    3.Builder
    4.Prototype
    5.Singleton
********************************************************************************
结构性模式:
     结构型模式设计到如何组合类和对象以获得更大的结构。
---------------------------------------------------------------------
     类结构型模式采用继承机制来组合接口或实现。
---------------------------------------------------------------------
     对象结构型模式不是对接口和实现的组合,而是描述了如何对一些对象进行组合,从
而实现新功能的一些方法,因为可以在运行时刻改变对象组合关系,所以对象组合方式具
有很大的灵活性,而这种机制静态类组合是不可能实现的
---------------------------------------------------------------------
    GOF的7种结构型模式:
    1.Adapter
    2.Bridge
    3.Composite
    4.Decorator
    5.Facede
    6.Flyweight
    7.Proxy

********************************************************************************
行为性模式:
    行为模式设计到算法和对象间职责的分配。行为模式不仅描述对象和类的模式,还描述
他们之间的通信模式。这些模式刻画了在运行时刻难以跟踪的复杂的控制流。他们将你的
注意力从控制流转移到对象间的联系方式上来。
    类行为模式使用继承机制在类间分配行为。如Template和Interpreter模式。
    对象行为模式使用对象复合而不是继承。对象行为模式描述了一组相等的对象怎样相互
协作以完成其中一个对象都无法单独完成的任务。了解其他对象并保证松耦合。还有些对
象模式将行为封装到对象中。
    行为模式主要设计一下几个方面:
    1.封装变化
    2.将对象做为参数
    3.通信的封装或分布
    4.对发送者和接收者解耦

    GOF的11种行为性模式:
    1. Intepreter
    2. Template Method
    3. chain of Responsibility
    4. Command
    5. Iterator
    6. Mediator
    7. Memento
    8. Observer
    9. State
    10.Strategy
    11.Visitor
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics