23种设计模式

1、简单工厂模式(创建型模式,用于资源的统一分发 如加减乘除功能类,需要引用,增加代码复杂度,实现低耦合代码复用)
2、策略模式 (行为型模式,用于同一时间条件不同业务)
1与2区别 https://blog.csdn.net/xjh1997/article/details/81078716/
3、装饰模式(新建类装饰另类功能,简化原有类)
4、代理模式(为其他对象代理访问这个对象)
5、工厂方法模式(与1相似,客户端用哪些功能,1把判断放在工厂类内,5把判断交给客户端)https://www.bookstack.cn/read/flyingalex-design-patterns-by-php/files-chapter8.md
6、原型模式(克隆对象,提高性能,比如数据库创建对象)
7、模板方法模式(提高代码复用,将不变的行为迁移到超类,减少子类代码重用)
8、外观模式(为子系统提高一组高层接口,使子系统跟更容易使用,特别是当子系统是代码非常难以维护和拓展的遗留大型系统时)
8、建造者模式(将复杂的创建对象与它的表示分离,使得统一的创建过程(创建人)可以创建不同的表示(大人、小孩)服务端:创建人方法 创建大人方法 创建小孩方法 创建人管理方法 客户端:实例化对象方法(传入不同创建人方法,调用创建人管理方法然后),调用创建人方法)
9、观察者模式(定义一对多的依赖关系,多个观察者对象监听同一个主题对象,当主题对象状态改变时通知所有观察者对象让他们自动更新)
10、抽象工厂模式(同5,不同的是客户端隐藏具体类名,原因具体类名与具体工厂实现分离,用反射技术去除客户端switch或if判断)
11、状态模式(消除了庞大的条件分支语句,把各种状态转移逻辑分布在state子类,减少项目之间依赖,如上班每个时间段状态)
12、适配器模式(将一个类接口转换成客户希望的另一个接口,两个类实现的功能一样,不过实现环境不一样,nba原本类以及需要翻译的类)
13、备忘录模式(如备忘状态,修改状态后可以恢复原形保存的状态,有三个类实现,发起类负责创建备忘录 改变状态 输出状态、备忘类负责设置状态和获取状态、管理类负责设置和获取备忘录对象)
14、组合模式(客户一致地使用组合结果和单个对象)
15、迭代器模式(当你对聚集(对象数组等数据)有多种遍历方式时考虑使用)
16、单例模式(类只能实例化一次,对唯一实例的受控制访问,可以严格控制客户怎样访问以及何时访问它)
17、桥接模式(将抽象与实现部分分离,使它们可以独立的变化,尽量使用合成/聚合服用原则,尽量不使用类继承)
18、命令模式(将一个请求封装成对象,可用不同的请求进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作)
19、职责链模式(分职责出来请求)
20、中介(调停)模式(用一个中介对象封装一系列对象的交互,使之不显性交互)
21、享原模式(运用共享技术有效地支持大量细粒度的对象,减少大量对象实例)
22、解释器模式(解释使用)
23、访问者模式(目的把处理与数据结构分离,用于数据结构稳定的系统,把数据结构与作用于数据结构的操作之间的耦合解脱开)

参考资料
https://www.bookstack.cn/read/flyingalex-design-patterns-by-php/files-chapter29.md

其他资料
https://baijiahao.baidu.com/s?id=1701958218950721359&wfr=spider&for=pc

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值