Skip to content

常见的设计模式

1、设计模式是什么

在软件工程中,设计模式是对软件设计中普遍存在的各种问题所提出的解决方案

设计模式并不能直接用来完成代码的编写,而是描述不同的情况下,要怎么解决问题的一种方案

设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化能力

因此,当我们遇到合适的场景时,我们可能会条件反射一样自然而然想到符合这种场景的设计模式

比如,当系统中某个接口的结构已经无法满足我们现在的业务需求,但又不能改动这个接口,因为可能原来的系统很多功能都依赖于这个接口,改动接口会牵扯到太多文件

因此应对这种场景,我们可以很快地想到可以用适配器模式来解决这个问题

2、常见的设计模式有哪些

  • 单例模式
  • 工厂模式
  • 策略模式
  • 代理模式
  • 中介者模式
  • 装饰者模式

单例模式

保证一个类只有一个实例,并且提供一个访问它的全局访问点。实现的方法为先判断实例是否存在,如果存在直接返回,如果不存在就创建之后返回,这就确保了一个类只有一个实例对象

工厂模式

工厂模式通常会分成三个角色

  • 工厂角色: 负责实现创建所有实例的内部逻辑
  • 抽象产品角色: 是所创建的所有对象的父类,负责描述所有实例所有的公共接口
  • 具体产品角色: 是创建目标,所有创建的对象都充当这个角色的模式具体类的实例

策略模式

策略模式就是定义一系列的算法,把它们一个个的封装起来,并且使它们可以相互替换

策略模式至少分为两部分

  • 策略类(可变): 策略类封装了具体的算法,并负责具体的计算过程
  • 环境类(不变): 接受客户的请求,随后将请求委托给某一个策略类

尘埃虽微,积之成集;问题虽小,记之为鉴。 雾中低语,心之所向;思绪飘渺,皆可成章。