设计模式总纲

基础的设计模式一共有二十三种,从功能上我们可以将它们分成三类:创建型、结构性和行为型。创建型一共有五种设计模式:抽象工厂、建造者、工厂方法、原型和单例。结构型一共有七种设计模式:适配器、桥接、组合、装饰器、门面、享元和代理。行为一共有十一种模式:责任链、命令、解释器、迭代器、中介、备忘录、观察者、状态、策略、模板方法和访问者。下面简单描述一下各个模式的特征:

创建型

1. 抽象工厂模式

我们不但想把创建对象的逻辑抽象出来,而且不同的工厂来创建具有差异化的同类型产品。

2. 建造者模式

3. 工厂模式

在某些场景中,对象的创建逻辑会比较繁琐,可能有一些条件判断,有些属性需要赋值等。我们可以把这些创建对象的逻辑全部抽象出来放到一个专门的类中,这样就可以让Client无感于对象Product的创建过程。

相关推荐
2601_966949652 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
晨曦中的暮雨4 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
喵了几个咪4 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
程序员清风5 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
知守观6 小时前
设计模式实战:从真实老项目中看标准模板方法与工厂的落地
java·spring·设计模式
2601_962885726 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
choumin7 小时前
C++中万能引用与std::forward的作用和用法
c++·万能引用·std forward
Wang's Blog7 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里8 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑9 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程