技术栈
设计模式
CaffeinePro
1 小时前
设计模式
·
架构
四⼤极简架构原则KISS/DRY/YAGNI/LOD
本文围绕日常开发中最常用的四条工程原则KISS(保持简单)、DRY(勿重复自己)、YAGNI(你不会需要它)与LOD(最少知识原则)展开,说明它们如何共同约束“复杂度的无控制增长”。先从过度设计、提前优化、重复代码三类常见陷阱的成因讲起,再分别拆解四条原则的核心含义、适用边界与典型反例;随后用对照与关系图帮助建立“何时简化、何时抽象、何时先别做”的判断直觉;最后给出一份可直接用于代码评审的检查清单,帮助团队在评审现场快速识别架构与实现中的工程风险。目标不是背诵口号,而是把极简原则变成可执行的决策习惯。
春卷同学
6 小时前
华为
·
设计模式
·
harmonyos
HarmonyOS掌上记账APP开发实践第5篇:鸿蒙 EventBus 设计模式 — MoneyTrack 跨模块通信解密
在多模块鸿蒙应用中,模块间通信是一个核心挑战。随着 MoneyTrack 功能不断扩展——从首页账单管理、统计图表、资产管理到家庭成员记账——模块间的数据依赖关系越来越复杂。如果采用模块直接引用的方式,会导致循环依赖和高耦合,使得任何一个模块的修改都可能引发连锁反应。
霸道流氓气质
2 小时前
spring boot
·
后端
·
设计模式
SpringBoot中设计模式组合使用示例-策略、模板、观察者、门面、工厂、单例。
注:博客:https://blog.csdn.net/badao_liumang_qizhi定义一组算法/行为,将每个算法封装成独立的处理单元,使它们可以互相替换。客户端根据条件选择使用哪个策略。
ttod_qzstudio
4 小时前
观察者模式
·
设计模式
【软考设计模式】观察者模式:一对多依赖的自动通知与订阅解耦精讲
系列定位:软考软件设计师 / 系统架构设计师 — 行为型模式专题第 9 讲考察分值:上午题 1-2 分,下午题常作为代码填空或类图识别出现
ttod_qzstudio
6 小时前
设计模式
·
命令模式
【软考设计模式】命令模式:请求封装与调用接收解耦的精讲
系列定位:软考软件设计师 / 系统架构设计师 — 行为型模式专题第 11 讲考察分值:上午题 1-2 分,下午题常作为代码填空或类图识别出现
春卷同学
8 小时前
设计模式
HarmonyOS掌上记账APP开发实践第3篇:接口与实现分离 — MoneyTrack Types.ets 与 Models.ets 的双层设计模式
在鸿蒙 ArkTS 开发中,如何平衡类型安全与响应式状态管理是一项关键设计决策。TypeScript/ArkTS 的接口(interface)提供了纯粹的编译时类型约束,而 @ObservedV2 + @Trace 装饰器实现了运行时响应式能力。然而,这两者之间存在天然的张力:接口不能被装饰器修饰,装饰器类又无法作为跨模块的轻量类型契约。
NG477
1 天前
java
·
设计模式
·
软件工程
【软件设计与体系结构】-策略设计模式
某电商系统,销售Sale类中包含销售项SaleItem对象的列表,SaleItem类包括商品名称、数量、单价等数据域。
CaffeinePro
1 天前
设计模式
·
架构
SOLID五大设计原则:重构优雅代码与架构的底层规范
很多人学完封装、继承、多态、组合,仍会写出“有类无设计”的代码:一个类什么都干、改需求就改老代码、子类不能替父类、接口又肥又乱、高层模块死盯底层实现。根因不是没背过SOLID缩写,而是没把五大原则当成排查坏味道、约束协作关系、落地设计模式的架构标尺。 本文将逐条拆解单一职责、开闭、里氏替换、接口隔离、依赖倒置。每条原则给出核心定义、业务场景、反例与正例,并讲清原则之间的联动。所有设计模式的本质,都是对SOLID的合理落地与极致优化。
ttod_qzstudio
1 天前
设计模式
·
状态模式
【软考设计模式】状态模式:状态驱动行为自动转换与代码填空精讲
系列定位:软考软件设计师 / 系统架构设计师 — 行为型模式专题第 2 讲考察分值:上午题 1-2 分,下午题常作为代码填空或类图识别出现
饮茶三千
1 天前
前端
·
vue.js
·
设计模式
电子保函模板编辑器实战二:HTML→FTL 编译转换的设计与实现
这个项目里有一个看似矛盾的地方:编辑器给用户展示的是可视化的富文本,但最终要交给后端的却是 FreeMarker 模板。
Kel
1 天前
javascript
·
设计模式
·
node.js
Node.js 本质:从全脉络视角理解运行时原理
Node.js = V8 引擎(执行 JS)+ libuv(异步 I/O)+ C++ Binding(系统能力桥接)
码哥字节
1 天前
设计模式
·
vibe coding
·
github spec kit
11 万 Star 的 Spec Kit,90% 的工程师只用它解决了 10% 的问题
上个月我在用 Claude Code 开发一个新功能,需求说得很清楚:「给用户列表页加一个按注册时间排序的功能」。
我登哥MVP
1 天前
java
·
设计模式
·
访问者模式
·
原型模式
走进 Gang of Four 设计模式:访问者模式
说明:不仅告诉你"怎么用",更告诉你"为什么这样设计"前置知识:Java 面向对象基础(接口、多态、重载)、双重分派概念
饮茶三千
1 天前
前端
·
vue.js
·
设计模式
基于 WangEditor 的富文本编辑器定制实践
这个项目的背景是这样的:保险保单/保函业务需要适配全国各地的差异化要求,模板数量多、更新频繁。之前一直是业务提需求,开发人员在代码里硬编码维护,一来一回沟通成本很高,理解上还容易有偏差,而且每次改模板都得等发版才能生效,响应速度跟不上业务节奏。
ttod_qzstudio
1 天前
设计模式
·
中介者模式
【软考设计模式】中介者模式:网状交互的解耦与集中调度精讲
系列定位:软考软件设计师 / 系统架构设计师 — 行为型模式专题第 5 讲考察分值:上午题 1-2 分,下午题常作为类图识别或代码填空出现
饼干哥哥
2 天前
设计模式
·
agent
·
代码规范
一夜之间,全世界的 Agent 能力提高了一个档次
全因 Claude Code 源码泄漏了。安全研究员 Chaofan Shou 发现 Anthropic 发布在 npm 上的 Claude Code 包里,有一个 57MB 的 .map 文件没被排除。通过这个文件可以还原出全部 1,906 个 TypeScript 源文件,512,000 行代码。
Kel
2 天前
javascript
·
设计模式
·
node.js
管道、IPC、Socket:你以为的三种技术,其实是同一件事
从内核 fd 模型出发,揭示管道、IPC 与网络 Socket 的底层统一本质。面试中被问到"管道和 Socket 有什么区别",大多数人的回答是:管道用于父子进程,Socket 用于网络通信。
我登哥MVP
2 天前
java
·
设计模式
·
建造者模式
进 Gang of Four 设计模式:建造者模式
说明:不仅告诉你"怎么用",更告诉你"为什么这样设计"前置知识:Java 面向对象基础(接口、抽象类、多态)、UML 类图基础
代号隐神5
4 天前
java
·
设计模式
·
备忘录模式
GoF设计模式——备忘录模式
前言 为什么需要备忘录模式? 假设正在做一个文本编辑器,需要支持 Ctrl+Z 撤销功能。最直觉的写法是每次修改前把整个 Editor 对象的内部字段抄一份出来放到栈里:
爸爸619
4 天前
华为
·
设计模式
·
harmonyos
·
鸿蒙系统
32 DAO 设计模式实战:完整的数据访问层封装
图:32 DAO 设计模式实战:完整的数据访问层封装 运行效果截图(HarmonyOS NEXT)DAO(Data Access Object) 是一种将数据访问逻辑与业务逻辑分离的设计模式。在"鹿鹿·笔迹心理分析"项目中,5 个 DAO 类构成了完整的数据访问层,封装了所有 RDB 操作,向上层页面提供简洁、类型安全的数据接口。