设计模式

杨充13 小时前
设计模式·开源·代码规范
10.可测试性实战设计2024 年 11 月,某交易系统大版本上线。CI 全绿、覆盖率 94.7%,团队开庆功 PR 通过。周一上线,周二崩了。
杨充13 小时前
设计模式·开源·代码规范
9.重构十二式的实战上一篇 08.反模式与坏味道大全 末尾留下了三道题:重构有一句广为流传的话:「重构是为了让代码更好理解,而不是为了让代码更短。」——Martin Fowler
杨充13 小时前
设计模式·开源·全栈
6.设计原则的全景图上一篇 05.多用组合和少继承 末尾留下了三道题:三道题同时指向本篇的主题:如何从「可以这样写」走到「该这样写」,这正是 SOLID 的职责。
杨充13 小时前
设计模式
2.面向对象的特性上一篇 01.面向对象设计思想 末尾留下了三道题:它们看似分别对应「字段访问」「类的扩展」「调用顺序」,但答案都同一个根,本篇的四大特性。
杨充13 小时前
设计模式·开源·全栈
7.SOLID原则案例汇2023 年 4 月,某金融中台团队做 Code Review。一段 700 行的 RiskCheckProcessor 长出了三重 if 嵌套 + 9 个魔法字符串。会议室里 5 个工程师吵了 40 分钟:
杨充13 小时前
设计模式·开源·代码规范
8.反模式与坏味道2024 年 6 月,新人 Wang 提交了一个 PR:「优化订单结算流程」。+832 行 / -612 行。Reviewer 是工作 8 年的老 Z。
杨充13 小时前
设计模式
3.接口vs抽象类比较上一篇 02.面向对象的特性 末尾留下了三道题:本篇要回答的是中题和难题:三道题同时指向本篇的核心重点:抽象类与接口到底要怎么选?
咖啡八杯16 小时前
java·设计模式·解释器模式·ast·文法
文法、BNF与AST本文是【GoF设计模式】系列第22篇的前置知识解释器模式是 GoF 23 种设计模式中公认比较难理解的一个。它的难不在代码本身,而在前置概念——文法和 AST(抽象语法树)。如果不先搞懂这两个概念,直接看解释器模式的代码会一头雾水。
咖啡八杯1 天前
java·后端·spring·设计模式
GoF设计模式——解释器模式[]> 本文是【GoF设计模式】系列第22篇,更多内容欢迎关注公众号:咖啡八杯假设营销系统要判断用户是否符合优惠活动资格,规则是"用户年龄 > 18 且 积分 > 100"。最直接的写法是 if-else:
大数据新鸟1 天前
设计模式
设计模式四大基本原则一个类/方法只拥有一个职责,只因一个原因发生修改。一个类只做一件事。一个类同时处理数据库读写、日志打印、接口参数校验;后续改日志逻辑会污染数据库代码,极易出bug。
tiankong12132 天前
设计模式·c#
如何拓展多态下的子类多态是对象编程的基础。其中一个原则就是要将共用特性抽取到基类。但开发中需求总是会变:如果子类需要新增方法怎么办?难道依次修改基类和其他子类吗?
南一Nanyi1 天前
前端·设计模式·nestjs
依赖注入和控制反转你好,我是南一控制反转 是面向对象编程的一种设计思想,用于降低模块间的耦合度,以 NestJS 为例,只需在UserController构造函数中声明依赖userService的类型,框架层会创建userService依赖实例注入UserController中,依赖的创建和管理都由 NestJS 容器完成。
jctech2 天前
android·设计模式·架构
让「小程序」跑起真正的原生代码:ComboNative 多进程原生小程序运行时 · Alpha 首发一个 Android 动态化框架:每个小程序都是原生 Kotlin/Compose、运行在独立进程、可与宿主各自独立混淆加固。框架运行时约 347 KB,一个功能完整的小程序包可低至 32.8 KB,内含三个小程序的完整 demo(release)仅 7.74 MB。
Kel2 天前
设计模式·架构·node.js
Node.js 单线程高并发:从内核中断到 JS 回调的完整技术栈核心命题:一个线程如何同时处理数万并发连接?答案不在 Node.js 本身,而在操作系统内核的 I/O 多路复用机制。Node.js 所做的,是构建一条从内核事件到用户态回调的完整链路。
zjun10015 天前
c++·设计模式
C++常用的设计模式C++的设计模式有很多,网上介绍的大概有23种。实际使用中,肯定用不到这么多,现在介绍其中使用评率最高的几种。
解局易否结局3 天前
华为·设计模式·架构·harmonyos
ArkUI MVI 架构实战:单向数据流设计模式在 HarmonyOS NEXT 中的深度实践在前端与跨平台开发领域,状态管理始终是架构设计的核心命题。ArkUI 作为 HarmonyOS NEXT 的声明式 UI 框架,虽然内置了 @State、@Link、@Provide 等响应式状态装饰器,但当业务复杂度持续增长时,单纯依赖装饰器的「数据驱动视图」模式会逐渐暴露出状态逻辑散落各处、难以追踪数据流向、副作用处理混乱等问题。
解局易否结局4 天前
华为·设计模式·架构·harmonyos
ArkTS 设计模式与架构进阶:构建可维护的 HarmonyOS 应用#在 ArkUI 开发中,代码的可维护性、可扩展性和可读性是衡量工程水平的重要标尺。HarmonyOS NEXT(API 12+)为 ArkTS 引入了丰富的装饰器和语言特性,这为在声明式 UI 框架下实现经典设计模式提供了坚实基础。
happyness444 天前
设计模式·ai编程
AI编程与设计模式在AI编程时代,让AI准确识别并应用设计模式(Design Patterns),是区分“玩具级代码”与“工业级架构”的分水岭。大语言模型(LLM)虽然背下了《Design Patterns: Elements of Reusable Object-Oriented Software》(GOF 23种设计模式)的所有定义,但它们往往缺乏对业务场景的直觉,容易陷入“手里拿着锤子,看什么都像钉子”的过度设计(Over-engineering)误区。
就是小王同学啊4 天前
sql·spring·设计模式
Spring小技巧之设计模式OrderCreatedBaseHandler:责任链顶层接口定义类,所有处理器都实现该接口。OrderCreatedOperate:责任链执行器类,是整个责任链的管理容器和启动入口。利用Spring批量注入接口实现类为List的机制串联整个链条。