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