本人出道5年,学习、编程、再学习、再编程一路走过,只是在笔和纸留下些脚印,实感惭愧。现开始把本身学习到的心得,实践中的体会,一一贴在互联网上,你们互相学习、探讨,寻找一些技术朋友。有些题材,首先想到了最近感兴趣的设计模式,因而着手眼前,踏出坚实一步。算法
设计模式都有哪些?编程
按照GOF提出,24种,按照目的分为:建立型(creational)、结构性(structural)、行为型(behavioral)。设计模式
1、建立型:学习
一、Singleton 单例模式。一个类的惟一实例。ui
二、Factory Method 工厂模式。被实例化的子类。设计
三、Abstract Factory 抽象工厂模式。产生对象家族。代理
四、Builder 生成器模式。如何建立一个组合对象。server
五、Prototype 原型模式。被实例化的类。对象
2、结构型:接口
一、Adapter 适配器模式。对象的接口
二、Bridge 桥模式。对象的实现。
三、Composite 组成模式。一个对象的结构和组成。
四、Decorator 装饰模式。对象的职责,不生产子类。
五、Facade 外观模式。一个子系统的接口。
六、Flyweight 享元模式。对象的存储开销。
七、Proxy 代理模式。如何访问一个对象;该对象的位置。
3、行为型:
一、Chain Of Responsibility 职责链模式。知足一个请求的对象。
二、Command 命令模式。什么时候、怎样知足一个请求。
三、Interpreter 解释器模式。一个语言的文法及解释。
四、Iterator 迭代器模式。如何遍历、访问一个聚合的各元素。
五、Mediator 中介者模式。对象间怎样交互、和谁交互。
六、Memento 备忘录模式。一个对象中哪些似有信息存放在该对象以外,以及在何时存储。
七、Observer 观察者模式。多个对象依赖于另外一个对象,而这些对象又如何保持一致
八、State 状态模式。对象的状态
九、Strategy 策略模式。算法
十、Template Method 模板模式。算法中的某些步骤。
十一、Visitor 访问者模式。某些可做用于一个(组)对象上的操做,但不修改这些对象的类。
以上的模式名称来自于GOF,四位牛人,他们在“设计模式”一书中提出,设计模式的概念提出,很大一部分是方便人们的沟通,理解。接下来的博客中,我会将我对设计模式的理解一一记录下来,固然很是的浅显,描述也不是很详尽,但会尽可能贴近“互联网IT”人士的工做内容,呵呵。