模式不是套路(八):框架设计——把控制权还给用户
写框架不是写业务代码——你定义骨架,用户填充细节。模板方法和钩子模式,让框架既有约束力又有灵活性,用户用得舒服,你也好维护。 ...
写框架不是写业务代码——你定义骨架,用户填充细节。模板方法和钩子模式,让框架既有约束力又有灵活性,用户用得舒服,你也好维护。 ...
第三方 SDK 接口丑陋,文档稀烂,还时不时改版?适配器、外观、代理三种模式,帮你在混乱的外部世界和整洁的内部代码之间建起防火墙。 ...
订单模块要通知库存、积分、物流、消息推送……调用链越来越长,模块耦合越来越紧。观察者模式和中介者模式,让模块间的对话从"打电话"变成"发微信"。 ...
订单状态用字符串存,状态转换靠 if-else?当业务规则越来越复杂,这套玩法迟早崩盘。看状态模式、命令模式、备忘录模式如何驯服状态机这头野兽。 ...
数据处理逻辑写成一坨,每次改需求都要动主流程?装饰器、责任链、策略三种模式,教你把处理逻辑拆成可组合的积木块。 ...
核心功能写死,扩展功能靠改代码?当系统需要支持第三方扩展时,工厂模式和桥接模式就该登场了。看 Rust 如何用 trait 和动态库实现优雅的插件系统。 ...
配置文件谁都会写,但写出一个好用的配置系统却不简单。从硬编码到配置文件,从启动加载到热更新,看单例、建造者、原型三种模式如何在配置系统中自然浮现。 ...
背了 23 种设计模式,写代码时却一个都想不起来?不是你的问题,是这些模式本来就不该死记硬背。在 Rust 中,很多经典模式已经融入了语言本身。 ...
回顾这个系列: 关系型数据库解决了数据一致性 NoSQL 解决了扩展性和灵活性 嵌入式数据库解决了零部署需求 分布式数据库解决了单机瓶颈 分析型数据库解决了海量数据分析 时序数据库解决了时间序列场景 向量数据库解决了语义搜索 每个问题都催生出新的数据库类型。而 PostgreSQL 选择了一条不同的路:成为一个可以被无限扩展的平台。 ...
“找出所有与这张图片相似的商品。” “搜索语义上相关的文档,而不只是关键词匹配。” “推荐用户可能喜欢的内容。” 这些需求有什么共同点?它们都需要找**“相似”而不是“相等”**的数据。传统数据库在这里彻底无能为力了。 ...