设计模式、设计模式的概念以及总概

学习设计模式、设计模式的概念以及总概

 

设计原则

我们在学习设计模式之前,一定需要先了解设计原则,那么什么是设计原则呢?

设计原则是指导我们代码设计的一些经验总结,对于某些场景下,是否应该应用某种设计模式,具有指导意义。比如,“开闭原则”是很多设计模式(策略、模板等)的指导原则。

七大设计原则

设计原则设计原则
开闭原则对扩展开放,对修改关闭。
依赖倒置原则通过抽象使各个类或者模块不相互影响,实现松耦合。
单一职责原则一个类、接口、方法只做一件事。
接口隔离原则尽量保证接口的纯洁性,客户端不应该依赖不需要的接口。
迪米特法则又叫最少知道原则,一个类对其所依赖的类知道得越少越好。
里氏替换原则子类可以扩展父类的功能但不能改变父类原有的功能。
合成复用原则尽量使用对象组合、聚合,而不使用继承关系达到代码复用的目的。

为何要学习设计模式?

不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。我们把设计模式作为一个专题,主要是学习设计模式是如何总结经验的,把经验为自己所用。学设计模式也是锻炼将业务需求转换技术实现的一种非常有效的方式。

什么是设计模式呢?

设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。大部分设计模式要解决的都是代码的可扩展性问题。设计模式相对于设计原则来说,没有那么抽象,而且大部分都不难理解,代码实现也并不复杂。主要是需要了解它们都能解决哪些问题,掌握典型的应用场景,并且懂得不过度应用。

23种设计模式

经典的设计模式有 23 种。随着编程语言的演进,一些设计模式(比如Singleton)也随之过时,甚至成了反模式,一些则被内置在编程语言中(比如Iterator),另外还有一些新的模式诞生(比如 Monostate)。它们又可以分为三大类:创建型、结构型、行为型。对于这 23种设计模式的学习,我们要有侧重点,因为有些模式是比较常用的,有些模式是很少被用到的。

23种设计模式

1. 创建型

常用的有:单例模式、工厂模式(工厂方法和抽象工厂)、建造者(构建器)模式。

不常用的有:原型模式。
在这里插入图片描述

2. 结构型

常用的有:代理模式、桥接模式、装饰者模式、适配器模式。
在这里插入图片描述

3. 行为型

常用的有:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式。

不常用的有:访问者模式、备忘录模式、命令模式、解释器模式、中介模式。
在这里插入图片描述
在这里插入图片描述

设计模式在spring 中的应用

Spring 就是一个把设计模式用得淋漓尽致的经典框架,其实从类的命名就能看出来,我
来一一列举:

设计模式名称举例
工厂模式BeanFactory
装饰器模式BeanWrapper
代理模式AopProxy
委派模式DispatcherServlet
策略模式HandlerMapping
适配器模式HandlerAdapter
模板模式JdbcTemplate
观察者模式ContextLoaderListener

需要特别声明的是,设计模式从来都不是单个设计模式独立使用的。在实际应用中,通
常是多个设计模式混合使用,你中有我,我中有你。

书籍推荐

1、维基百科:http://en.wikipedia.org/wiki/Design_Patterns#Patterns_by_Type

2、推荐书籍《大话设计模式》

3、推荐书籍《Head First设计模式》

4、推荐书籍《设计模式-可复用面向对象软件的基础》

5、推荐书籍《Effective Java》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值