模式不是套路(七):外部集成——与第三方和平共处
第三方 SDK 接口丑陋,文档稀烂,还时不时改版?适配器、外观、代理三种模式,帮你在混乱的外部世界和整洁的内部代码之间建起防火墙。 ...
第三方 SDK 接口丑陋,文档稀烂,还时不时改版?适配器、外观、代理三种模式,帮你在混乱的外部世界和整洁的内部代码之间建起防火墙。 ...
订单模块要通知库存、积分、物流、消息推送……调用链越来越长,模块耦合越来越紧。观察者模式和中介者模式,让模块间的对话从"打电话"变成"发微信"。 ...
订单状态用字符串存,状态转换靠 if-else?当业务规则越来越复杂,这套玩法迟早崩盘。看状态模式、命令模式、备忘录模式如何驯服状态机这头野兽。 ...
数据处理逻辑写成一坨,每次改需求都要动主流程?装饰器、责任链、策略三种模式,教你把处理逻辑拆成可组合的积木块。 ...
核心功能写死,扩展功能靠改代码?当系统需要支持第三方扩展时,工厂模式和桥接模式就该登场了。看 Rust 如何用 trait 和动态库实现优雅的插件系统。 ...
配置文件谁都会写,但写出一个好用的配置系统却不简单。从硬编码到配置文件,从启动加载到热更新,看单例、建造者、原型三种模式如何在配置系统中自然浮现。 ...
背了 23 种设计模式,写代码时却一个都想不起来?不是你的问题,是这些模式本来就不该死记硬背。在 Rust 中,很多经典模式已经融入了语言本身。 ...
其他语言在运行时防止数据竞争,Rust 说:太晚了。它把检查前移到编译期——写出数据竞争的代码,根本编译不过。这听起来很激进,但 Rust 证明了它是可行的。 ...
有一天我突然意识到:我的领域层里有 sqlx::PgPool。这意味着,如果我想换数据库,要改领域层。领域层不是应该只有业务逻辑吗? ...
当我第一次把「工资单」从一个数据库表变成一个有行为的聚合根时,突然明白了 DDD 的意义:代码不再是「数据库的搬运工」,而是「业务规则的执行者」。 ...