设计模式

码匠许师傅4 小时前
c++·观察者模式·设计模式·uml
【设计模式精讲】24.观察者模式(Observer)【摘要】:传感器每来一个新样本,当前值面板、统计面板、告警模块都该刷新——直觉的写法是在 onSample 里逐个调用三个面板,订阅者从此焊死在发布者体内,加一块面板改一次传感器。本文从 RG 的经典气象站讲起,给出观察者的 GoF 意图:一对多依赖、状态一变、全体自动通知——发布者对订阅者的认知降到「一个接口」为止;C++98 版覆盖 notify 的重入副本、推与拉两种模型,现代版给出 std::function 槽位、RAII 订阅令牌与 weak_ptr 三件套,把「观察者悬垂」这个 C++ 最著
小程故事多_808 小时前
人工智能·设计模式·重构
从快速迭代到稳定存续,Google五大设计模式重构长效AI智能体落地逻辑在当下AI应用落地的浪潮中,绝大多数人都陷入了一个共性误区,我们过度追求AI智能体的响应速度、对话流畅度、任务执行效率,执着于打造“跑得快”的智能体。无论是对话问答、简单工具调用,还是单次场景化任务处理,短期测试效果总能让人眼前一亮。只要是一次性、短周期的即时任务,市面上绝大多数智能体模型都能交出不错的答卷。
码匠许师傅21 小时前
c++·设计模式·软件工程·uml·中介者模式
【设计模式精讲】22.中介者模式(Mediator)【摘要】:一个登录对话框,用户名变了要刷新按钮状态,按钮按下要冻结所有输入框,回调返回又要逐一解冻——每个控件都持有并调用其他所有控件,五个控件织出十条网线,加一个验证码框全体返工。本文从这张依赖网讲起,给出中介者的 GoF 意图:用一个对象封装一组对象的交互,网状收拢成星状——同事只认识中介者,规则集中成一处可单测的代码;C++98 版用 widgetChanged 单入口实现,现代版再用 std::function 回调槽让同事连中介者接口都不必认识。本文重点辨析中介者与观察者——同样是星型,一个是有
2401_868534781 天前
c++·设计模式
网规备考_2.4 路由协议一、考点分析路由协议是网规考试中分值占比最大的考点之一,选择题和案例题均有涉及。Internet由不同自治系统(AS)互连而成,AS内使用内部网关协议(IGP),AS间使用外部网关协议(EGP)。IGP主要包括RIP、OSPF、IS-IS、IGRP、EIGRP;EGP主要是BGP。需要对比掌握各协议的特点、算法、报文类型和应用场景。表1:2.4 路由协议考点分析
cpp_learner1 天前
c++·设计模式
C++ 实现责任链模式(Chain of Responsibility):从一堆 if-else 到可插拔的处理管道最近在学习ffmpeg,代码中需要跨线程传递数据,所以用到了责任链模式进行传递,遂来学习一下责任链模式是如何进行处理的。
码匠许师傅1 天前
c++·设计模式·软件工程·uml·备忘录模式
【设计模式精讲】23.备忘录模式(Memento)【摘要】:命令模式靠「逆操作」撤销了绘图程序,但文本编辑器是另一回事——用户随手打字删字、移动光标,操作琐碎得没有形状。两条歪路摆在面前:为存档把字段全 public,封装陪葬;或者整个对象拷一份,句柄崩、「哪些字段属于状态」没人说得清。本文给出备忘录模式的 GoF 意图:在不破坏封装的前提下捕获并外化对象内部状态——C++ 用嵌套类加 friend 精确表达「只有本体能拆信、看守者只管邮递」的宽窄接口;现代版补上移动语义、快照与命令的成本曲线(大型系统的混合方案),以及值语义快照的取舍。文末对照 std
新知图书2 天前
人工智能·设计模式·智能体
第8章 多智能体协同清华大学出版社-人工智能技术丛书-介绍-CSDN博客AI智能体应用开发 鲍亮崔江涛李倩范涛 清华大学出版社【行情 报价 价格 评测】-京东
京师20万禁军教头2 天前
java·开发语言·设计模式
39面向对象(高级)-设计模式设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索
新知图书2 天前
人工智能·设计模式·智能体
3.5 智能体设计模式1:反应式智能体与自动导航案例LangGraph智能体设计模式与多智能体开发(人工智能技术丛书)【行情 报价 价格 评测】-京东王晓华LangGraph开发入门书《LangGraph智能体设计模式与多智能体开发》全文试读~_langgraph智能体设计模式与多智能体开发 pdf 下载-CSDN博客
码匠许师傅2 天前
c++·设计模式·rpc·迭代器模式·软件工程·uml
【设计模式精讲】21.迭代器模式(Iterator)【摘要】:for (Node* p = list.head(); p; p = p->next_)——为了遍历,链表被迫把节点结构公开,客户端被迫知道 head 和 next 的存在;换容器、换遍历序,全部调用点重写。本文从这行经典的越界遍历讲起,给出 GoF 意图与经典四操作接口,再完成 C++ 特有的关键一跃:按 STL 形态改造自己的容器——begin()/end() 加四个运算符,range-for 与上百个算法免费到手;随后讲透迭代器五类承诺与失效规则这两个工程硬契约,展望 C++23 生成器。
Carl_奕然3 天前
javascript·人工智能·python·react.js·设计模式·语言模型
【智能体】Agent的四种设计模式之:React(2026最新版)小屌丝:鱼哥,我最近写了个 Agent,让它查天气,结果你猜怎么着?它直接给我编了个假天气!北京今天明明 35 度大晴天,它告诉我"北京今天小雨 18 度,记得带伞"。我当场就裂开了…… 小鱼:(扶额)兄弟,你这是让模型"闭卷考试"啊。LLM 的知识是 cutoff 的,它又不会真的去查天气预报,可不就瞎编嘛。 小屌丝:那我该咋办?总不能我手动帮它查吧? 小鱼:你得让它学会 “边想边干”。就像你打游戏,不是一上来就冲boss,而是先观察一下——“这怪会喷火,我得绕后"→ 绕后 → 发现它屁股也会喷火 →
cfm_29143 天前
java·spring·设计模式
Spring核心设计模式Spring 框架之所以成为 Java 生态事实标准,核心并非单纯封装 API,而是通过合理、克制、精准的设计模式解决了原生 Java 开发的各类工程痛点。
码匠许师傅4 天前
c++·设计模式·享元模式·uml
【设计模式精讲】15.享元模式(Flyweight)【摘要】:一局围棋上千颗棋子对象,每颗都揣着贴图引用、风格字符串与渲染缓存——可黑白加风格统共不过十来种,重复的信息被复制了上千份。本文从棋盘内存账讲起,给出享元模式的核心一刀:把「不随实例变化」的内部状态从对象里搬出去共享,把「随实例变化」的外部状态留给客户端随操作传入;享元因此必须不可变,工厂池负责「同键同对象」。现代 C++ 用 shared_ptr<const T> 把不可变纪律上锁、用 weak_ptr 池实现「可回收的共享」,并讨论「先问该不该共享」。文末对照 Boost.Flyweight
事圆则缓4 天前
android·设计模式
Android 常用设计模式速查本文整理 Android 开发中常见技术点对应的设计模式,并给出简化伪代码、典型源码/原理使用位置。伪代码用于理解模式结构,不等同于源码实现。
码匠许师傅5 天前
c++·设计模式·uml·外观模式
【设计模式精讲】14.外观模式(Facade)【摘要】:把一份源文件编译成中间码,本是一行需求;直接调用子系统,却变成五步固定仪式——预处理器、词法器、语法器、语义检查、IR 生成各有接口与状态,每个调用方都要背下组装顺序。本文从编译器前端的编排成本讲起,给出外观模式的 GoF 意图与「只编排、不决策」的定性,辨析它简化调用而非隐藏扩展点;现代 C++ 部分讲 PIMPL 编译防火墙与外观的正交叠加、分层「附加外观」对上帝对象的防御。文末对照 std::filesystem、POCO Crypto 对 OpenSSL 的门面化、Abseil 的命令行
evans在进步5 天前
java·开发语言·设计模式
Java 常用设计模式(二):装饰器、适配器、责任链、模板方法、策略与观察者上一篇整理设计模式时,我越来越觉得,设计模式最难的部分不是代码,而是判断“这里到底需不需要用”。很多模式的结构看起来都像增加了一层接口和实现类,如果只背定义,到了项目里还是容易混淆。
码匠许师傅5 天前
c++·设计模式·uml·装饰器模式
【设计模式精讲】13.装饰器模式(Decorator)【摘要】:给指标上报加校验、加缓存、加日志,用继承来做就是灾难:三个维度自由组合,子类数量按 2 的幂次膨胀,而且全是「真子类不该有的职责」。本文从指标管道的继承爆炸讲起,给出装饰器模式的 GoF 意图——同接口包同接口的洋葱结构,动态叠加职责、按需拆装;C++98 版用裸指针级联销毁,现代版换成 unique_ptr 链、std::function 中间件与 CRTP mixin 三档实现,从运行时灵活到编译期零开销。文末对照 Boost.Iostreams 的过滤流、POCO 的计数流与 C++20
evans在进步6 天前
java·python·设计模式
Java 常用设计模式入门:建造者、工厂、单例、外观与代理刚开始学习设计模式时,我经常有一种感觉:明明几行代码就能完成的功能,套上设计模式后反而多出了接口、实现类和工厂类。
字节跳动开源6 天前
前端·设计模式·开源
VisActor全新图可视化开源项目:VGraphVGraph 正式开源了。如果你正在做数据血缘、知识图谱、关系网络、树图分析、流程编排或图编辑器,现在可以用一套更贴近真实业务场景的关系图库,直接把复杂关系变成可读、可交互、可落地的产品体验。
码匠许师傅6 天前
c++·设计模式·桥接模式·uml
【设计模式精讲】11.桥接模式(Bridge)【摘要】:形状两种、渲染器两种,继承矩阵先写四个子类;三角形一加入变六个,OpenGL 渲染器一加入变十二个——两个维度各自增长,子类数按乘法结算。本文从图形库的类爆炸讲起,给出桥接模式的 GoF 意图:把「抽象」与「实现」拆成两个独立的层次结构,用组合关系在中间架桥,类数从 n×m 塌缩为 n+m,两边各自加类互不相扰。C++ 实现覆盖引用造桥的传统版与运行期可换桥的现代版,并厘清 PIMPL 与桥接的血缘:前者是单实现的桥接退化,后者是多实现的 PIMPL 前瞻。文末对照 POCO 的 SocketI