设计模式

码匠许师傅2 小时前
c++·设计模式·享元模式·uml
【设计模式精讲】15.享元模式(Flyweight)【摘要】:一局围棋上千颗棋子对象,每颗都揣着贴图引用、风格字符串与渲染缓存——可黑白加风格统共不过十来种,重复的信息被复制了上千份。本文从棋盘内存账讲起,给出享元模式的核心一刀:把「不随实例变化」的内部状态从对象里搬出去共享,把「随实例变化」的外部状态留给客户端随操作传入;享元因此必须不可变,工厂池负责「同键同对象」。现代 C++ 用 shared_ptr<const T> 把不可变纪律上锁、用 weak_ptr 池实现「可回收的共享」,并讨论「先问该不该共享」。文末对照 Boost.Flyweight
事圆则缓3 小时前
android·设计模式
Android 常用设计模式速查本文整理 Android 开发中常见技术点对应的设计模式,并给出简化伪代码、典型源码/原理使用位置。伪代码用于理解模式结构,不等同于源码实现。
码匠许师傅17 小时前
c++·设计模式·uml·外观模式
【设计模式精讲】14.外观模式(Facade)【摘要】:把一份源文件编译成中间码,本是一行需求;直接调用子系统,却变成五步固定仪式——预处理器、词法器、语法器、语义检查、IR 生成各有接口与状态,每个调用方都要背下组装顺序。本文从编译器前端的编排成本讲起,给出外观模式的 GoF 意图与「只编排、不决策」的定性,辨析它简化调用而非隐藏扩展点;现代 C++ 部分讲 PIMPL 编译防火墙与外观的正交叠加、分层「附加外观」对上帝对象的防御。文末对照 std::filesystem、POCO Crypto 对 OpenSSL 的门面化、Abseil 的命令行
evans在进步19 小时前
java·开发语言·设计模式
Java 常用设计模式(二):装饰器、适配器、责任链、模板方法、策略与观察者上一篇整理设计模式时,我越来越觉得,设计模式最难的部分不是代码,而是判断“这里到底需不需要用”。很多模式的结构看起来都像增加了一层接口和实现类,如果只背定义,到了项目里还是容易混淆。
码匠许师傅1 天前
c++·设计模式·uml·装饰器模式
【设计模式精讲】13.装饰器模式(Decorator)【摘要】:给指标上报加校验、加缓存、加日志,用继承来做就是灾难:三个维度自由组合,子类数量按 2 的幂次膨胀,而且全是「真子类不该有的职责」。本文从指标管道的继承爆炸讲起,给出装饰器模式的 GoF 意图——同接口包同接口的洋葱结构,动态叠加职责、按需拆装;C++98 版用裸指针级联销毁,现代版换成 unique_ptr 链、std::function 中间件与 CRTP mixin 三档实现,从运行时灵活到编译期零开销。文末对照 Boost.Iostreams 的过滤流、POCO 的计数流与 C++20
evans在进步2 天前
java·python·设计模式
Java 常用设计模式入门:建造者、工厂、单例、外观与代理刚开始学习设计模式时,我经常有一种感觉:明明几行代码就能完成的功能,套上设计模式后反而多出了接口、实现类和工厂类。
字节跳动开源2 天前
前端·设计模式·开源
VisActor全新图可视化开源项目:VGraphVGraph 正式开源了。如果你正在做数据血缘、知识图谱、关系网络、树图分析、流程编排或图编辑器,现在可以用一套更贴近真实业务场景的关系图库,直接把复杂关系变成可读、可交互、可落地的产品体验。
码匠许师傅2 天前
c++·设计模式·桥接模式·uml
【设计模式精讲】11.桥接模式(Bridge)【摘要】:形状两种、渲染器两种,继承矩阵先写四个子类;三角形一加入变六个,OpenGL 渲染器一加入变十二个——两个维度各自增长,子类数按乘法结算。本文从图形库的类爆炸讲起,给出桥接模式的 GoF 意图:把「抽象」与「实现」拆成两个独立的层次结构,用组合关系在中间架桥,类数从 n×m 塌缩为 n+m,两边各自加类互不相扰。C++ 实现覆盖引用造桥的传统版与运行期可换桥的现代版,并厘清 PIMPL 与桥接的血缘:前者是单实现的桥接退化,后者是多实现的 PIMPL 前瞻。文末对照 POCO 的 SocketI
学习星球3 天前
人工智能·设计模式·微信小程序
AI Agent 成本工程实战:从 OpenAI Codex 的 8 个“烧 Token“Bug 学起8 月 30 日,OpenAI Codex 工程负责人 Tibo(Thibault Sottiaux)发帖宣布:团队逐条排查了数千份用户报告,修复了 8 类会"额外消耗额度"的问题,并为所有 Codex 和 ChatGPT Work 付费用户重置了使用额度——按使用方式不同,同等额度预计可多支撑 10%~50%。
AI人工智能+电脑小能手4 天前
java·设计模式·责任链模式·风控校验·servlet filter·spring interceptor·链式处理
大白话说Java设计模式-46-责任链模式(业务实战篇)📌 PDF:AI人工智能 — 大模型微调与部署实战项目📌 一句话本质:责任链模式就是"多个 handler 串联",请求沿链传递,每个 handler 处理一部分,可中断可继续。
码匠许师傅4 天前
设计模式·建造者模式
【设计模式精讲】7.建造者模式(Builder)【摘要】:构造函数十个参数、其中七个可选,为了少写几个重载,你造出了一排「重叠构造函数」,调用处全是猜不透的 ("x", 0, false, nullptr, true)。本文从这个经典坏味道讲起,给出建造者模式:把复杂对象的 构造过程 从 表示 中分离,同一套步骤代码能攒出不同形态的产品。C++ 实现以 Refactoring Guru 的汽车/手册双生成器为例,覆盖传统写法与链式(Fluent)Builder、主管(Director)角色;进阶展示现代 C++ 的链式引用、std::optional
码匠许师傅4 天前
c++·设计模式
【设计模式精讲】6.抽象工厂(Abstract Factory)【摘要】:跨平台 UI 里混进一个别家风格的控件、家具店里现代沙发配了维多利亚椅子——这类「产品不配套」的 bug,根源不是某个对象造错了,而是各处散造的对象彼此不知情。本文从一次控件混搭事故讲起,给出抽象工厂的意图与结构:声明一组创建 一族 相关产品的方法,由具体工厂保证成套。C++ 实现按 Refactoring Guru 的跨平台 UI 示例展开,传统写法与智能指针版对照;进阶讨论「增族易、增品难」的经典代价及注册表缓解。文末对比 POCO 数据库连接族与 AOSP HAL 模块族的真实形态,并辨析
workflower5 天前
人工智能·设计模式·机器人·云计算·无人机
人形机器人灵巧手产业链在人形机器人领域,随着行走能力趋于成熟,作为“最后一公里”的灵巧手已成为实现通用化的终极突破口。这一集多自由度运动、多模态感知与精密控制于一体的复杂系统,正面临成本高昂、可靠性不足和控制泛化能力弱三大瓶颈,亟需在核心器件与算法上实现协同创新。从技术架构看,主流路线如腱绳驱动强调轻量化与高拟人化,适用于高性能研究;气动软体驱动则以安全低成本见长,适合人机交互;技术路线的选择本质是依据场景在性能与成本间权衡。从市场前景看灵巧手正从实验室专用设备向人形机器人标配产业跨越,受益于通用性刚需、价格下探及供应链成熟,
Java后端的Ai之路5 天前
开发语言·python·设计模式·抽象工厂模式·通用智慧
03、Python - 抽象工厂模式本文为原创文章,如需转载,请联系作者获得授权,并注明出处。假设你正在开发一套跨平台的桌面应用,需要同时支持Windows和macOS。界面上有按钮、文本框、复选框三种组件。
AI人工智能+电脑小能手5 天前
java·设计模式·解释器模式·源码分析·pattern·spel·javacc
大白话说Java设计模式-45-解释器模式(源码剖析篇)📌 PDF:AI人工智能 — RAG知识库实战项目📌 一句话本质:解释器在源码里不是"自定义语言"的形象化,而是"语法分析 + AST + 求值"三件套的工业级架构。
码匠许师傅5 天前
c++·单例模式·设计模式
【设计模式精讲】4.单例模式(Singleton)【摘要】:全局配置、日志器、线程池,这类对象在整个进程里只需要一份。多数人的第一反应是定义一个全局变量,随后便陷入初始化顺序失控、重复构造、多线程竞争的泥潭。本文从全局变量的三宗罪讲起,给出单例模式的意图与结构;重点拆解 C++ 中线程安全单例的三种写法——Meyers’ Singleton、双检锁的坑与修正、std::call_once,并比较它们的行为差异。文章最后讨论单例的代价与替代方案,提醒读者:单例是受限的全局状态,能少用就少用。
雾削木5 天前
人工智能·设计模式
2026 编程领域热点知识速览:AI 辅助开发、设计模式实战与嵌入式高效迭代本文基于 CSDN 博客当前热门内容整理,覆盖 AI 辅助编程、设计模式与架构实践、嵌入式与智能车开发三大方向,帮助你快速把握 2026 年编程领域的热点脉络。
AI人工智能+电脑小能手6 天前
java·spring·设计模式·访问者模式·asm·营销规则·数据结构与操作分离
大白话说Java设计模式-42-访问者模式(业务实战篇)📌 PDF:AI人工智能 — RAG知识库实战项目📌 一句话本质:访问者模式就是"把操作从数据结构中分离出来",让数据结构稳定,操作易扩展。
AI人工智能+电脑小能手6 天前
java·设计模式·访问者模式·源码分析·elementvisitor·asm classvisitor·spring spel
大白话说Java设计模式-43-访问者模式(源码剖析篇)📌 PDF:AI人工智能 — 大模型微调与部署实战项目📌 一句话本质:访问者在源码里不是"操作分离"的形象化,而是"元素 + 访问者 + accept/visit"三件套的工业级架构。
Michael_lcf7 天前
设计模式·agent设计模式·agent设计模式的本质
Agent设计模式:思考-行动-观察循环的本质与局限看了Agent设计模式、Harness、SDD等内容后。现在感觉绝大多数 Agent,不管吹多少架构名词:ReAct、Tool Calling、Plan‑and‑Execute、Reflesion、Self‑RAG、OpenSpec、Spec‑Kit,底层骨架几乎逃不开:思考(Thought) → 行动(Action) → 观察(Observation) → 再思考这个循环。