01【什么是设计模式】


一、什么是设计模式?

设计模式(Design Pattern)是针对于软件设计中反复出现的问题所提出来的一个解决方案,是前人对代码开发经验的总结,它不是语法规定,学好设计模式可以开阔我们的编程思维,让我们编写的程序具备可复用性、可扩展性、可读性、可靠性以及安全性等;

1)复用性:相同的功能代表,不用多次编写

2)可扩展性:当我们需要新增的功能时,非常的方便

3)可读性:编程规范,便于其他程序员的理解和阅读

4)可靠性:当我们新增功能时,对援用的功能没有影响

1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称「GoF设计模式」。

总结:设计模式就是一套成熟的软件解决方案,学好设计模式能让我们开阔编程思维、编写出优异的代码

1.1 设计模式的划分

1.1.1 根据目的划分

根据设计模式是用来完成什么工作来划分,这种方式可分为创建型模式结构型模式行为型模式 3 种;

1)创建型模式:用于描述“怎样创建对象“,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。

2)结构型模式:用于描述如何将类或对象按某种布局组成更大的结构,GoF 中提供了代理、适配器、桥接、装饰、外观、享元、组合等 7 种结构型模式。

3)行为型模式:用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责。GoF 中提供了模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器等 11 种行为型模式。


  • 创建型模式:关注怎样创建对象
  • 结构性模式:关注怎样组合类
  • 行为型模式:关注怎样协同类(怎样分配职责)

1.1.2 根据作用范围来分

根据模式是主要用于类上还是主要用于对象上来分,这种方式可分为类模式对象模式两种。

1)类模式: 用于处理类与子类之间的关系,这些关系通过继承来建立,是静态的,在编译时刻便确定下来了。GoF中的工厂方法、(类)适配器、模板方法、解释器属于该模式。

2)对象模式: 用于处理对象之间的关系,这些关系可以通过组合或聚合来实现,在运行时刻是可以变化的,更具动态性。GoF 中除了以上 4 种,其他的都是对象模式。

范围/目的创建型模式结构型模式行为型模式
类模式工厂方法(类)适配器模板方法、解释器
对象模式单例、原型、抽象工厂、建造者代理、 (对象)适配器、桥接、装饰、外观、享元、组合策略、命令、职责链、状态、观察者、中介者、迭代器、 访问者、备忘录

从下一章开始,我们正式进入设计模式的学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

緑水長流*z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值