随笔分类 -  设计模式

摘要:目录🎯 一、设计模式选型策略1. 核心设计模式应用2. 模式选型对照表3. 选型原则总结💻 二、C++开发技巧精华1. 资源管理技巧2. 线程安全实现3. 接口设计技巧4. 错误处理策略🏗️ 三、架构设计要点1. 分层架构设计2. 模块化设计原则🚀 四、性能优化技巧1. 内存优化2. 并发优 阅读全文
posted @ 2025-08-29 16:44 guanyubo 阅读(132) 评论(0) 推荐(0)
摘要:目录卡码网设计模式专题设计模式工具推荐 卡码网设计模式专题 https://kamacoder.com/designpattern.php 设计模式 https://refactoringguru.cn/design-patterns 工具推荐 https://editor.plantuml.com 阅读全文
posted @ 2024-03-06 15:41 guanyubo 阅读(37) 评论(0) 推荐(0)
摘要:目录概念示例 概念 代理模式是一种常用的结构型设计模式,它提供了一种将对象与它的职责进行解耦的方式。代理模式主要涉及两个角色:代理(Proxy)和真实对象(Real Object)。代理对象接收客户端的请求,并在必要时将请求转发给真实对象。这种设计模式主要用于以下几种情况: 远程代理:为一个对象在不 阅读全文
posted @ 2024-03-01 22:27 guanyubo 阅读(54) 评论(0) 推荐(0)
摘要:目录概念示例 概念 装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许动态地给一个对象添加一些额外的职责,而不需要改变其结构。装饰器模式提供了一种灵活的方式来扩展对象的功能,同时保持对象的接口一致。 示例 在C++中,装饰器模式通常通过继承和接口实现。下面是一个简单的示例来 阅读全文
posted @ 2024-02-29 11:19 guanyubo 阅读(80) 评论(0) 推荐(0)
摘要:目录概念示例 概念 观察者模式(Observer Pattern)是C++中常用的一种行为型设计模式,它定义了对象间的一种一对多的依赖关系。在这种模式中,当一个对象(被观察者,Subject)的状态发生改变时,所有依赖于它的对象(观察者,Observer)都会收到通知并自动更新。 这种模式的结构通常 阅读全文
posted @ 2024-02-27 16:46 guanyubo 阅读(255) 评论(0) 推荐(0)
摘要:建造者模式(Builder Pattern)是一种对象构建设计模式,它提供了一种构建对象的最佳方式。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在建造者模式中,一个导演(Director)负责组织各个部分(Builder)的构建步骤,一个抽象构建器(Abstract Buil 阅读全文
posted @ 2024-02-05 21:19 guanyubo 阅读(22) 评论(0) 推荐(0)
摘要:目录1 概念2 使用场景2.1 饿汉式单例模式2.2 懒汉式单例模式2.3 双重检查锁定(线程安全) 1 概念 单例模式(Singleton Pattern)是一种常见的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点来获取该实例。在C++中,单例模式通常用于管理全局资源或提供全局配置。 阅读全文
posted @ 2024-02-04 17:14 guanyubo 阅读(64) 评论(0) 推荐(0)
摘要:目录简介如何遵守?示例 简介 依赖倒置原则(Dependency Inversion Principle,DIP)是软件工程中的一种设计原则,它指出高层模块不应该依赖于底层模块,而是应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 依赖倒置原则的核心思想是通过抽象来解耦高层模块和底层模块, 阅读全文
posted @ 2024-01-25 15:23 guanyubo 阅读(227) 评论(0) 推荐(0)
摘要:目录简介如何遵守?示例 简介 里氏替换原则(Liskov Substitution Principle,LSP)是面向对象编程中的一个设计原则,由麻省理工学院的Liskov于1988年提出。里氏替换原则主张使用“抽象”和“多态”将设计中的静态结构改为动态结构,维持设计的封闭性。这个原则的主要目标是确 阅读全文
posted @ 2024-01-25 15:16 guanyubo 阅读(112) 评论(0) 推荐(0)
摘要:目录简介如何遵守?示例 简介 接口隔离原则(Interface Segregation Principle,ISP)是软件设计中的一个重要原则,它指出不应该强迫客户依赖他们不需要的接口。具体而言,接口隔离原则要求将一个复杂的系统拆分为多个独立的接口,每个接口只提供与特定功能相关的操作,以避免客户端由 阅读全文
posted @ 2024-01-25 15:16 guanyubo 阅读(167) 评论(0) 推荐(0)
摘要:目录简介如何遵守?反例 简介 开闭原则(Open-Closed Principle,OCP)是软件工程中的一个重要设计原则,它指出软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。 开闭原则的核心思想是,在设计一个软件系统时,应该尽量保持其稳定性和可扩展性。当需要对系统进行扩展或修改时,应该通 阅读全文
posted @ 2024-01-25 14:57 guanyubo 阅读(199) 评论(0) 推荐(0)
摘要:目录简介如何遵守?反例 简介 单一职责原则(Single Responsibility Principle,SRP)是软件工程中的一种设计原则,它指出一个类或模块应该只有一个主要的职责,并且该职责应该被完整地封装在这个类或模块中。 遵循单一职责原则的好处包括: 提高可读性和可维护性:当一个类或模块只 阅读全文
posted @ 2024-01-25 14:40 guanyubo 阅读(135) 评论(0) 推荐(0)
摘要:![](https://img2024.cnblogs.com/blog/3373356/202401/3373356-20240118131022113-435543617.png =600x600) ![](https://img2024.cnblogs.com/blog/3373356/202401/3373356-20240118131053805-435191097.png =600x6 阅读全文
posted @ 2024-01-18 13:11 guanyubo 阅读(18) 评论(0) 推荐(0)
摘要:目录策略模式和简单工厂模式的区别策略模式的类图为什么采用聚合简单工厂模式的类图为什么采用关联表示 策略模式和简单工厂模式的区别 策略模式和简单工厂模式是两种不同的设计模式,它们在用途和实现上有所不同。 简单工厂模式是一种创建型模式,用于创建特定类型的对象。它通过一个工厂类来创建对象,根据不同的条件返 阅读全文
posted @ 2024-01-17 21:23 guanyubo 阅读(30) 评论(0) 推荐(0)
摘要:目录概念使用场景示例类图代码实现 概念 简单工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪个类。在C++中,简单工厂模式可以通过一个工厂类来实现,该工厂类负责根据输入参数创建不同的对象实例。下面是一个简单的C++示例来说明简单工厂模式的实现: #include <i 阅读全文
posted @ 2024-01-15 17:36 guanyubo 阅读(71) 评论(0) 推荐(0)
摘要:目录概念使用场景 概念 策略模式是一种行为设计模式,它允许定义一系列算法,并将每个算法封装到一个对象中。这些算法对象可以相互替换,使得客户端调用算法的代码与具体算法的实现分离。在C++中,策略模式通常由一个接口类、具体策略类、上下文类和客户端代码组成。 下面是一个使用C++实现策略模式的示例: 类图 阅读全文
posted @ 2024-01-15 17:06 guanyubo 阅读(60) 评论(0) 推荐(0)
摘要:继承:子类->父类;实现:实现类->接口;组合/聚合:部分类->整体类;关联/依赖:引用类->被引用/依赖类。 继承(泛化 Generalization)= 实现(Realization)> 组合(Composition)> 聚合(Aggregation)> 关联(Association)> 依赖(Dependency) 阅读全文
posted @ 2024-01-14 21:12 guanyubo 阅读(58) 评论(0) 推荐(0)