这里的设计模式你用过几个?

创建型模式

  • 单例模式

这里的设计模式你用过几个?

单例模式应该是最简单的一种设计模式。

单例模式要求全局只能有一个实例,所以,单例类会设计成其构造函数和赋值构造函数私有化,完成内部建立维护唯一的实例对象。

  • 工厂模式

这里的设计模式你用过几个?

有些像工厂批量生产物品一样,通过固定的接口,生产出种类相同的不同个体。

对外接口统一,不用暴露过多的创建逻辑;并且可延迟创建实例对象,可以在确定了一些信息后再创建对象。

配合继承使用,可以很灵活的添加相同种类的product

  • 原型模式

这里的设计模式你用过几个?

在对象本身创建起来很麻烦,代价很大的时候,就可以用到原型模式。

这个设计模式很少单独使用,毕竟使用条件苛刻、鸡肋。

结构型模式

  • 适配器模式

这里的设计模式你用过几个?

适配器模式使得两个不兼容的系统能够实现数据对接的可能。

类似你显示器只有一个VGA接口,而你只有一根HDMI线,那个HDMI转VGA转换器就是应用了适配器模式。

  • 装饰器模式

这里的设计模式你用过几个?

“卓接视之,见其刀长尺余,七宝嵌饰,极其锋利,果宝刀也。”

曹操行刺董卓拿的那把七星刀应用了装饰器模式。本来刀没有宝石这个属性的,把宝石嵌上去,刀就有了宝石的属性。

  • 组成模式

这里的设计模式你用过几个?

组成模式总是在不知不觉的时候就会被使用,例如一个汽车类里有四个轮子类,每个轮子使用什么牌子的轮胎可以由统一接口设置。

  • 代理模式

这里的设计模式你用过几个?

想象下房产中介的工作大概就清楚了。

当某个对象,出于某种原因(这也许就是隔离吧),无法直接访问却又要使用其功能的时候,就需要用到代理模式了。

行为模式

  • 职责链模式

这里的设计模式你用过几个?

社畜都知道,在公司请假需要走OA流程的,从你提出流程开始,这个流程经历了重重把关之后,才会到最后归档的终节点。

在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。

  • 命令模式

这里的设计模式你用过几个?

命令模式是一种数据驱动的设计模式,请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。

  • 解析器模式

这里的设计模式你用过几个?

类似Json解析器、XML解析器就是使用这种模式。

用对应的语法语义去解析语言。

  • 迭代器模式

这里的设计模式你用过几个?

这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。

  • 中介者模式

这里的设计模式你用过几个?

跟代理模式相似。但是中介者模式更偏向用于模块解耦,代理模式则是封装对象功能,使得上层无需知道底层对接的是什么东东。

  • 观察者模式

这里的设计模式你用过几个?

您关注的xxx主播上线啦

定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

  • 模板方法模式

这里的设计模式你用过几个?

一个抽象类公开定义了执行它的方法的方式、模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。


这里的设计模式你用过几个?
关注个人公众号,获取更多有趣的资讯哦!