设计模式 共 7 篇文章

C++ CRTP奇异递归模板模式实现静态多态
2026-05-11 00:46:40
C++ CRTP奇异递归模板模式实现静态多态 什么是CRTP CRTP(Curiously Recurring Template Pattern)是一种C++模板元编程技术,允许基类通过模板参数访问派生类的成员。这种模式通过编译时多态替代传统的运行时多态(虚函数),提升程序性能。 基本实现步骤 1.
C++ CRTP 模板元编程
12 0
Python __getattr__为什么能实现属性的延迟加载
2026-05-09 03:25:15
Python getattr 为什么能实现属性的延迟加载 延迟加载是一种设计模式,核心思想是“用的时候再加载”。在编程中,这意味着只有在真正需要某个资源(如数据、对象、配置)时,才去获取它。这可以显著提升程序的启动速度和内存效率,特别是当资源加载成本很高时。 Python 的 getattr 魔法方
Python __getattr__ 延迟加载
14 0
Java 设计模式:单例、工厂、观察者模式
2026-04-07 13:14:27
Java 设计模式:单例、工厂、观察者模式 直接掌握三种最常用的 Java 设计模式实现方法,避免重复造轮子与代码臃肿。本文按模块提供可直接复制运行的标准模板与实操步骤。 第一阶段:实现单例模式 核心目标:保证全局仅存在一个实例对象,节省系统资源并统一状态管理。 通俗解释:单例就像操作系统的回收站。
Java编程 设计模式 单例模式
77 0
JavaScript 前端架构:MVC、MVP、MVVM 模式
2026-04-05 20:11:50
JavaScript 前端架构:MVC、MVP、MVVM 模式 前端开发中,代码组织方式直接影响项目的可维护性和团队协作效率。当项目规模扩大时,如果没有清晰的架构约束,代码会逐渐变得混乱不堪——数据流难以追踪、模块之间相互耦合、修改一处代码可能引发连锁问题。 MVC、MVP、MVVM 这三种架构模式
前端架构 JavaScript MVC
114 0
C++ 智能指针std::weak_ptr解决观察者模式
2026-04-04 18:52:56
C++ 智能指针 std::weakptr 解决观察者模式 观察者模式是软件开发中最常用的行为型设计模式之一,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都能收到通知并自动更新。然而,在 C++ 中实现观察者模式时,内存管理往往是最棘手的问题。如果处理不当,会导致悬垂指
C++智能指针 观察者模式 weak_ptr
72 0
Kotlin 委托:by 关键字与委托属性
2026-04-03 02:21:12
Kotlin 委托:by 关键字与委托属性 在 Kotlin 中,委托是一种设计模式,允许一个对象(委托者)将某些操作“转交”给另一个对象(被委托者)处理。这种机制通过 by 关键字实现,能显著减少样板代码,提升代码复用性和可维护性。委托分为两类:类委托(Class Delegation)和委托属性
Kotlin 委托 by关键字
53 0
PLC程序中的状态机设计模式
2026-03-24 16:54:50
在PLC编程中,最令工程师头疼的往往不是单一逻辑的实现,而是复杂流程的维护与扩展。传统的“线圈叠加”写法容易导致程序结构混乱、跳转逻辑不明,最终形成难以维护的“面条代码”。状态机设计模式通过将控制流程拆解为有限个独立的状态,并明确定义状态间的转移条件,是解决此类问题的核心方案。 一、 核心概念:什么
PLC 状态机 设计模式
80 0