二十三种设计模式

发布时间:2026/7/19 2:44:04

二十三种设计模式
创建型模式5 种核心思想分离对象创建与使用屏蔽实例化细节降低耦合1.单例模式 Singleton保证类全局仅有一个实例提供统一访问入口适合全局唯一资源配置管理器、连接池。2. 工厂方法模式 Factory Method定义创建对象的统一接口由子类决定实例化哪一个产品单一产品等级结构解耦。3.抽象工厂模式Abstract Factory Pattern定义一套工厂接口可以创建一组相互配套、关联的多种产品工厂子类一次性产出整套系列产品。4.建造者模式 Builder分步构建复杂对象分离构建步骤与成品表示适合属性多、构造流程复杂的对象订单、复杂 DTO。5. 原型模式 Prototype基于已有对象拷贝生成新实例无需重新 new适合创建成本高、重复对象场景。结构型模式7 种核心思想组合 / 改造类与对象搭建灵活的整体结构优先组合而非继承1.适配器模式Adapter Pattern转换不兼容接口让两类无法协作的对象正常交互分类适配器继承、对象适配器组合。2.桥接模式Bridge Pattern拆分「抽象层」与「实现层」两层独立扩展解决多维度类爆炸问题如图形 颜色。3.组合模式Composite Pattern树形 “整体 - 部分” 结构客户端统一操作单个对象与容器对象菜单、文件目录经典场景。4.装饰器模式Decorator Pattern动态给对象叠加额外功能替代静态子类扩展IO 流、权限叠加场景常用5.外观模式Facade Pattern给复杂子系统提供统一高层入口简化调用屏蔽底层多组件复杂逻辑。6.享元模式Flyweight Pattern共享复用大量细粒度对象减少内存开销文字字符、缓存池场景。7.代理模式Proxy Pattern提供中介代理对象控制对真实目标的访问远程代理、静态 / 动态代理、AOP 底层基础。行为型模式11 种核心思想分配对象职责、管理运行时交互流程处理算法与协作逻辑1.模板方法模式Template Method Pattern父类固定算法骨架可变步骤交由子类实现复用通用流程仅扩展差异化逻辑。2.策略模式Strategy Pattern封装一系列可互换算法运行时动态切换消除大量 if-else 分支判断。3.命令模式Command Pattern将请求封装成一个对象从而使你可以用不同的请求对客户进行参数化。4.责任链模式Chain of Responsibility Pattern请求沿处理链依次传递每个节点自主决定处理 / 转发日志分级、权限校验、拦截器。5.状态模式State Pattern对象行为随内部状态自动切换消除大量状态分支订单状态、游戏角色状态。6.观察者模式Observer Pattern定义对象间的一种一对多的依赖关系以便当一个对象状态改变时所有依赖于它的对象都得到通知并自动刷新, 消息推送、事件监听、MQ 消费。 。7.中介者模式Mediator Pattern引入统一中介隔离多对象直接交互解除多方耦合聊天室、组件联动。8.迭代器模式Iterator Pattern统一遍历聚合容器元素不暴露容器内部存储结构集合遍历工具。9.访问者模式Visitor Pattern将数据结构与操作分离新增操作不修改原有数据类复杂数据结构多维度统计。10.备忘录模式Memento Pattern在不破坏封装性的前提下捕获一个对象的内部状态并在该对象之外保存这个状态。支持回滚编辑器撤销、游戏存档。11.解释器模式Interpreter Pattern定义文法规则与解释器解析自定义语言 / 表达式正则、表达式计算器使用最少。

相关新闻

用“芯”筑基智算未来 海光信息亮相WAIC

用“芯”筑基智算未来 海光信息亮相WAIC

2026/7/19 2:44:04

7月17日,以“智能伙伴,共创未来”为主题的2026世界人工智能大会(WAIC)在上海开幕。海光信息携CPU、DCU全系列产品以及网络互联、整机解决方案,亮相上海世博展览馆、张江科学会堂两大主题展区,全面展示了面向…

Android DataBinding与MVVM架构实战指南

Android DataBinding与MVVM架构实战指南

2026/7/19 2:44:04

1. Android DataBinding与MVVM架构解析DataBinding技术最早出现在2015年Google I/O大会,作为Android官方推出的数据绑定框架,它彻底改变了传统Android开发中UI更新的方式。记得我第一次在项目中使用DataBinding时,那种"数据变动自动更新…

NVIDIA Nemotron-3-Embed-8B:高性能文本嵌入模型实战指南

NVIDIA Nemotron-3-Embed-8B:高性能文本嵌入模型实战指南

2026/7/19 2:44:04

如果你正在为 RAG 系统、语义搜索或文本分类任务寻找一个既强大又高效的嵌入模型,那么 NVIDIA 最新发布的 Nemotron-3-Embed-8B 绝对值得你立刻关注。这个拥有 80 亿参数的模型,不仅在权威的 Massive Text Embedding Benchmark (MTEB) 排行榜上登顶&…

2026年,靠谱潍坊数控带锯床选哪个?

2026年,靠谱潍坊数控带锯床选哪个?

2026/7/19 5:54:12

要买靠谱的潍坊数控带锯床,山东潍坊浩森机床有限公司值得重点考虑。我之前帮朋友的钢结构加工厂选设备,就对比过不少品牌,浩森机床在多方面表现出色。很多小厂的数控带锯床精度差、稳定性弱。像我考察时看到的部分杂牌设备,切割后…

7月网络安全和水利行业招标动态--附一个我一直在用的查标讯工具

7月网络安全和水利行业招标动态--附一个我一直在用的查标讯工具

2026/7/19 5:54:12

一、最近行业招标挺密集 这几天翻了一下招标信息,发现7月份网络安全和水利这两个领域的项目特别多,金额也都不小。整理了一些我自己关注到的,分享给同行的朋友。 二、网络安全方向 国家药典委员会前几天发了个"2026年网络安全运行维护…

UE4 MotionMatching实战:从数据陷阱到性能优化的全链路解决方案

UE4 MotionMatching实战:从数据陷阱到性能优化的全链路解决方案

2026/7/19 5:54:12

1. 项目概述:当MotionMatching遇上UE4,那些绕不开的“坎” MotionMatching(运动匹配)技术,在UE4里从蓝图到C实现,这几年热度一直没降过。它能让角色动画过渡得无比丝滑,告别传统状态机的僵硬感&…

10个提升办公效率的实用技巧与自动化方法

10个提升办公效率的实用技巧与自动化方法

2026/7/19 5:54:12

1. 日常效率提升的实用技巧集锦在快节奏的现代生活中,我们常常被各种琐事困扰,工作效率和生活质量都受到影响。作为一名长期关注个人效能提升的实践者,我发现很多看似微不足道的小技巧,经过日积月累的应用,能带来惊人的…

Ubuntu 22.04编译AOSP Android 13完整指南

Ubuntu 22.04编译AOSP Android 13完整指南

2026/7/19 5:54:11

1. 环境准备与系统配置在Ubuntu 22.04上编译AOSP Android 13需要先完成基础环境搭建。我推荐使用物理机而非虚拟机进行编译,因为Android源码编译对硬件资源要求较高。以下是经过实测的配置方案:1.1 硬件需求建议CPU:至少8核(推荐1…

Python编程入门:从安装到第一个Hello World程序

Python编程入门:从安装到第一个Hello World程序

2026/7/19 5:44:11

1. Python基础入门:从安装到第一个程序 Python作为当下最流行的编程语言之一,以其简洁优雅的语法和强大的功能库吸引了无数开发者。对于初学者来说,掌握Python的基础知识是迈向编程世界的第一步。让我们从最基础的安装开始,逐步探…

微服务进阶:服务网格与Istio

微服务进阶:服务网格与Istio

2026/7/19 0:03:49

541|微服务进阶:服务网格与Istio 上篇文章我们聊了微服务的基本概念和拆分方法。 但微服务多了,问题也多了: 服务之间怎么通信? 怎么监控每个服务的调用链路? 熔断、限流、重试怎么做? 安全认证怎么统一? 以前这些都靠SDK库(比如Hystrix、Feign),每个服务都要集成…

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

2026/7/19 0:03:49

一、零售门店全域协同业务背景与行业痛点 1.1 门店超级终端设备矩阵(连锁便利店/商超标准配置) 自助收银Kiosk一体机:顾客结算、自助核销优惠券、商品素材预览;运营折叠平板:店长后台商品上新、图片录入、活动配置、…

噗叽短视频界面分析

噗叽短视频界面分析

2026/7/19 0:03:49

1 和小红书类似,可以采用类似判断方法------------其实他比小红书好判断,因为他没有图片,控件位置几乎是固定的,都不用判断------------2 因为他没有点赞按钮------------而且几乎所有控件位置都是完全一样的,所以我就…

微服务进阶:服务网格与Istio

微服务进阶:服务网格与Istio

2026/7/19 0:03:49

541|微服务进阶:服务网格与Istio 上篇文章我们聊了微服务的基本概念和拆分方法。 但微服务多了,问题也多了: 服务之间怎么通信? 怎么监控每个服务的调用链路? 熔断、限流、重试怎么做? 安全认证怎么统一? 以前这些都靠SDK库(比如Hystrix、Feign),每个服务都要集成…

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

2026/7/19 0:03:49

一、零售门店全域协同业务背景与行业痛点 1.1 门店超级终端设备矩阵(连锁便利店/商超标准配置) 自助收银Kiosk一体机:顾客结算、自助核销优惠券、商品素材预览;运营折叠平板:店长后台商品上新、图片录入、活动配置、…

噗叽短视频界面分析

噗叽短视频界面分析

2026/7/19 0:03:49

1 和小红书类似,可以采用类似判断方法------------其实他比小红书好判断,因为他没有图片,控件位置几乎是固定的,都不用判断------------2 因为他没有点赞按钮------------而且几乎所有控件位置都是完全一样的,所以我就…