一句话理解23种设计模式

一、创建型

简单工厂模式(非23种设计模式)

一个工厂类完成每种产品的生产

1、工厂(方法)模式

具体的工厂子类负责每一种产品的生产

2、抽象工厂模式

多个工厂模式的再组合

3、建造者模式

创建对象不直接通过类而是通过一个额外的类,并且需要调用者自己指定哪些组件需要赋值并指定赋值顺序

4、原型模式

创建对象不通过new而是通过复制已存在对象的方式。

5、单例模式

整个程序内只能生成一个某类的唯一一个对象

二、结构型

1、适配器模式

原有接口A和B,现要求通过A能访问到B,就需要一个中间层C适配(C实现A并持有B,调用B的方法)

2、装饰者模式

在保证访问原有接口A方式不变的情况下,对接口A进行功能扩展

3、桥接模式

把原本具体类继承多个父类的方式改成具体类继承一个父类,同时该父类引用其他父类并调用其方法,以减少具体类的数量

4、组合模式

单体和整体实现同样的访问方法,且整体中定义单体的集合,这样就可以随意嵌套单体和整体而可以用同样的访问方式。

5、门面模式

通过一个傻瓜操作访问一个复杂功能,无需知道内部实现

6、享元模式

通过对象复用避免频繁创建对象

7、代理模式

不直接访问对象本身而是通过生成其代理对象,控制对对象的访问和增强原对象的功能

三、行为型

1、观察者模式

一个对象(被观察者)的状态变化时自动通知注册到它的所有对象(观察者)

2、责任链模式

一系列操作抽象成拥有共同父类的处理者们,前一个处理完自动调用后一个处理

3、策略模式

把一个请求的多种处理方式抽象成一个个策略,统一由context调用

4、模板(方法)模式

一个操作有公共的步骤但是不同的实现,抽象出这个操作(模板方法),公共步骤由子类实现,使用时只需调用这个模板方法即可

5、命令模式

不同的请求封装成不同命令,通过给调用者设置不同命令,再由各命令调用各自实际命令执行者执行。

6、解释器模式

定义一个简单表达式,然后赋值递归解释该表达式

7、迭代器模式

遍历容器中对象的特殊类

8、中介者模式

多个对象之间有相互关联关系,把他们的关系维护通过一个中间对象统一管理,这样只需要和中间对象交互即可。

9、备忘录模式

一个对象需要保存历史状态数据,每个历史状态都作为一个备忘录对象保存,在需要时恢复。

10、状态模式

对象的几种不同状态及各自行为提取成单独的对象,通过环境中设置状态并执行来实现不同状态触发不同行为的功能

11、访问者模式

同一类元素集合,针对不同访问者访问同一接口返回不同的数据

参考

23种设计模式示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值