设计模式汇总(持续更新中)

设计模式是在大量的实践过程中抽象出来的设计原则,它对如何更有效的实现目标具有举足轻重的地位。最早对设计模式这一主题进行研究的是建筑大师Christopher Alexander,在他的著作(A Pattern Language: Towns, Buildings Construction)中提供了成功构建建筑与城市的多种模式。设计模式在软件开发领域发展了几十年后的今天已经相当成熟,诸多记录软件开发模式的著作也如雨后春笋。笔者在项目中经常能发现各种模式的身影,并被其优雅及强大的魅力所深深吸引,所以就打算写点博客来跟大家一起分享我对设计模式一点小小的理解。

设计模式按照意图可以被划分成以下5大类模式:

  • 接口型模式
  • 职责型模式
  • 构造型模式
  • 操作型模式
  • 扩展型模式

接口型模式


模式
意图
适配器模式
适配类的接口以匹配客户端的要求
外观模式
为一组类提供一个简单的接口
合成模式
为单个对象与复合对象提供统一的接口
桥接模式
解除抽象与实现的耦合,使两者能够独立演化

职责型模式

模式
意图
单例模式将职责集中到某个类的单例中
观察者模式将对象从依赖于它的对象中解耦
调停者模式将职责集中于某个类,该类可以监督其他对象的交互
代理模式让一个对象扮演其他对象的行为
职责链模式允许将请求传给职责链的其他对象,直到这个请求被某个对象处理
享元模式将共享的、细粒度的对象职责集中管理


构造型模式

模式意图
构建者模式在请求创建对象前,逐步收集创建对象所需信息
工厂方法模式决定推迟实例化类对象
抽象工厂模式创建一族具有某些共同特征的对象
原型模式根据现有对象创建一个新对象
备忘录模式通过包含了对象内部状态的静态版本重新构建一个对象

操作型模式

模式意图
模板方法模式在方法中实现算法,推迟对算法步骤的定义使得子类能够重新实现
状态模式将操作分散,是的每个类都能表示不同的状态
策略模式封装操作,使得实现是可以互相替换的
命令模式用对象来封装方法调用
解释器模式将操作分散,使得每个实现能够运用到不同类型的集合中

扩展型模式

模式意图
装饰器模式让开发者动态组合对象的行为
迭代器模式提供一个方法类顺序访问集合中的元素
访问者模式允许开发者定义一个新的操作,而无需改变分层体系中的类


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值