常见的设计模式
1、设计模式是什么
在软件工程中,设计模式是对软件设计中普遍存在的各种问题所提出的解决方案
设计模式并不能直接用来完成代码的编写,而是描述不同的情况下,要怎么解决问题的一种方案
设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化能力
因此,当我们遇到合适的场景时,我们可能会条件反射一样自然而然想到符合这种场景的设计模式
比如,当系统中某个接口的结构已经无法满足我们现在的业务需求,但又不能改动这个接口,因为可能原来的系统很多功能都依赖于这个接口,改动接口会牵扯到太多文件
因此应对这种场景,我们可以很快地想到可以用适配器模式来解决这个问题
2、常见的设计模式有哪些
- 单例模式
- 工厂模式
- 策略模式
- 代理模式
- 中介者模式
- 装饰者模式
单例模式
保证一个类只有一个实例,并且提供一个访问它的全局访问点。实现的方法为先判断实例是否存在,如果存在直接返回,如果不存在就创建之后返回,这就确保了一个类只有一个实例对象
工厂模式
工厂模式通常会分成三个角色
- 工厂角色: 负责实现创建所有实例的内部逻辑
- 抽象产品角色: 是所创建的所有对象的父类,负责描述所有实例所有的公共接口
- 具体产品角色: 是创建目标,所有创建的对象都充当这个角色的模式具体类的实例
策略模式
策略模式就是定义一系列的算法,把它们一个个的封装起来,并且使它们可以相互替换
策略模式至少分为两部分
- 策略类(可变): 策略类封装了具体的算法,并负责具体的计算过程
- 环境类(不变): 接受客户的请求,随后将请求委托给某一个策略类