
C++ 设计模式
文章平均质量分 93
介绍设计模式和软件开发思想,以及具体的编程环境方法。
不是仙人的闲人
慢慢记录,慢慢更新。
展开
-
C++ 新经典:设计模式——目录(先留框架,慢慢来~)
C++ 新经典:设计模式原创 2024-08-09 00:12:12 · 1078 阅读 · 0 评论 -
C++ 设计模式——设计模式总结
设计模式是软件设计中常见问题的典型解决方案。它们是经过反复验证的、可重用的代码设计经验,用于解决在特定情境下反复出现的软件设计问题。原创 2024-09-03 00:00:00 · 1171 阅读 · 0 评论 -
C++ 设计模式与软件开发思想
设计模式和软件开发思想是构建高质量软件系统的关键组成部分。通过理解这些模式和思想,开发者可以更好地组织代码、提高系统的可维护性和可扩展性。在实际项目中,选择合适的设计模式并结合良好的软件开发思想,可以显著提升软件产品的质量。原创 2024-08-14 00:01:11 · 1369 阅读 · 0 评论 -
C++ 设计模式——模板方法模式
模板方法模式是一种行为设计模式,它定义了一个算法的骨架,而将一些步骤延迟到子类中。通过这种方式,模板方法允许子类在不改变算法结构的情况下重新定义算法的某些特定步骤。原创 2024-08-15 00:07:19 · 945 阅读 · 0 评论 -
C++ 设计模式——简单工厂模式
简单工厂模式是一种创建型设计模式,通过一个工厂类来负责对象的实例。这种模式将对象创建的细节封装在工厂类中,客户端无需知道具体的创建过程,只需通过工厂类获取对象实例即可。原创 2024-08-16 08:57:25 · 932 阅读 · 0 评论 -
C++ 设计模式——工厂方法模式
工厂方法模式是一种创建型设计模式,它通过定义一个接口用于创建对象,但由子类决定实例化哪个类。与简单工厂模式不同,工厂方法模式将对象的创建委托给子类,从而实现更好的扩展性和灵活性。原创 2024-08-16 12:31:26 · 1001 阅读 · 0 评论 -
C++ 设计模式——抽象工厂模式
抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类。它通常用于需要创建多个产品族的场景。原创 2024-08-17 15:45:47 · 1821 阅读 · 0 评论 -
C++ 设计模式——工厂模式
工厂模式是一种创建对象的设计模式,主要用于将对象的创建与使用分离。它提供了一种接口来创建对象,但由子类决定实例化哪个类。工厂模式有几种变体,包括简单工厂模式、工厂方法模式和抽象工厂模式。原创 2024-08-17 15:55:28 · 2497 阅读 · 0 评论 -
C++ 设计模式——原型模式
原型模式通过定义 **Prototype** 和 **ConcretePrototype** 的关系,使得对象的克隆过程更加灵活和高效。客户端只需依赖于 **Prototype** 接口,能够动态创建新的对象实例,增强了系统的可扩展性和可维护性。原创 2024-08-18 00:40:09 · 1182 阅读 · 0 评论 -
C++ 设计模式——建造者模式
建造者模式(Builder Pattern)是一种创建型设计模式,它允许使用多个简单的对象一步步构建一个复杂的对象。建造者模式通过将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。原创 2024-08-18 14:01:44 · 1791 阅读 · 0 评论 -
C++ 设计模式——策略模式
引入"策略“设计模式的定义:定义一些列算法类(策略类),将每个算法封装起来,让他们可以互相替换。换句话说,策略模式通常把一系列算法封装到一系列具体策略类中作为抽象策略类的字类,然后根据实际需要适用这些字类。原创 2024-08-19 00:45:02 · 2345 阅读 · 0 评论 -
面对对象程序设计原则——依赖倒置原则
依赖倒置原则(Dependency Inversion Principle, DIP)强调:高层模块(业务逻辑)不应直接依赖于低层模块(具体实现),高层和低层模块都应该依赖于抽象,而不是具体的实现细节。原创 2024-08-19 09:15:19 · 528 阅读 · 0 评论 -
C++ 设计模式——观察者模式
观察者模式(Observer Pattern)是一种常用的设计模式,属于行为型模式。它定义了一种一对多的依赖关系,使得当一个对象(主题)状态发生变化时,所有依赖于它的对象(观察者)都会得到通知并自动更新。原创 2024-08-20 00:23:27 · 2477 阅读 · 0 评论 -
C++ 设计模式——装饰模式
装饰模式(Decorator Pattern)是一种结构型设计模式,允许在不改变对象结构的情况下,动态地为对象添加额外的功能。下面是一个基于控件的例子,展示了如何使用装饰模式来增强控件的功能。原创 2024-08-21 00:07:57 · 1675 阅读 · 0 评论 -
面对对象程序设计原则——组合复用原则
组合复用原则(Composite Reuse Principle)强调在设计中优先使用对象组合而非类继承,以提高系统的灵活性和可维护性。它提倡通过组合对象来实现功能复用,避免因继承而导致的复杂类层次。原创 2024-08-21 00:12:36 · 865 阅读 · 0 评论 -
C++ 设计模式——单例模式
单例模式(Singleton Pattern)也称单件模式/单态模式,是一种创建型模式,用于创建只能产生一个对象实例的类。原创 2024-08-22 00:23:00 · 3150 阅读 · 0 评论 -
C++ 设计模式——外观模式
外观模式(Facade Pattern)是一种结构性设计模式,它为复杂的子系统提供一个简单的接口。通过外观模式,客户端通过外观类与子系统进行交互,外观类将客户端的请求委托给适当的子系统对象,从而实现功能的调用。这样的设计隐藏了子系统的复杂性,使得客户端与子系统之间的耦合度降低。原创 2024-08-22 09:00:06 · 1654 阅读 · 0 评论 -
面向对象程序设计原则——迪米特法则
迪米特法则,也称为最少知识原则(Least Knowledge Principle, LKP),强调一个对象应对其他对象有最少的了解。具体来说,任何一个对象只应与其“直接朋友”交互,而不应与“陌生人”交互。这种设计原则旨在降低系统的耦合度,提高模块化和可维护性。原创 2024-08-22 18:17:40 · 1225 阅读 · 0 评论 -
C++ 设计模式——命令模式
命令(Command)模式是一种行为型模式,它将请求封装为对象,从而使您能够使用不同的请求、排队请求或记录请求,以及支持可撤销的操作。原创 2024-08-23 09:16:25 · 2136 阅读 · 0 评论 -
C++ 设计模式——迭代器模式
迭代器模式是一种行为设计模式,旨在提供一种方法来顺序访问集合对象中的元素,而不暴露集合的内部结构。原创 2024-08-24 19:07:20 · 1753 阅读 · 0 评论 -
面向对象程序设计原则——单一职责原则
单一职责原则(Single Responsibility Principle, SRP)是面向对象设计中的一个重要原则,指的是一个类应该只有一个原因引起变化,也就是说,一个类的职责应该单一,应该只做一类事情或者对外只提供一种功能 。原创 2024-08-24 19:24:01 · 1406 阅读 · 0 评论 -
C++ 设计模式——组合模式
组合模式(Composite Pattern)是一种结构性设计模式,允许将一组对象组织成树形结构以表示“部分-整体”的层次结构。使得用户对单个对象和组合对象的操作/使用/处理具有一致性。组合模式使得客户端可以以统一的方式对待单个对象和组合对象,从而简化了客户端代码的复杂性。原创 2024-08-25 19:31:10 · 1652 阅读 · 0 评论 -
C++ 设计模式——状态模式
状态模式(State Pattern)是一种行为型设计模式,它允许对象在其内部状态发生变化时,动态地改变其行为。该模式的核心在于将状态相关的行为封装到独立的状态类中,使得对象的行为随状态而变化,从而减少冗余的条件判断。原创 2024-08-26 00:08:09 · 1717 阅读 · 0 评论 -
C++ 设计模式——享元模式
享元模式也称为蝇量模式旨在解决面向对象程序设计中的性能问题。享元的英文名“Flyweight”意为“轻量级”,源于拳击比赛中较轻的选手。该模式的核心目标是让对象变得“轻”,即减少内存占用。在需要某个对象时,尽量共享已经创建的同类对象,以避免频繁使用 `new` 创建同类或相似的对象。在对象数量非常庞大的情况下,这种共享可以显著节省内存占用并提升程序运行效率。原创 2024-08-26 09:32:51 · 1658 阅读 · 0 评论 -
C++ 设计模式——代理模式
代理模式(Proxy Pattern)是一种结构型设计模式,通过代理对象控制对其他对象的访问。代理模式通常用于控制对某个对象的访问,提供额外的功能,如延迟加载、访问控制、日志记录等。其主要实现思想是在客户端和真正要访问的对象之间引入一个代理对象(间接层),于是,以往客户端对真正对象的访问现在变成了通过代理对象进行访问,代理对象在这里起到了一个中介或者桥梁作用。引人代理对象的主要目的是可以为客户端增加额外的功能、约束或针对客户端的调用屏蔽一些复杂的细节问题。原创 2024-08-27 00:00:21 · 2153 阅读 · 0 评论 -
C++ 设计模式——适配者模式
适配者模式(Adapter Pattern)是一种结构型设计模式,主要用于解决接口不兼容的问题。其核心思想是通过创建一个适配器类,将一个类的接口转换成客户端所期待的另一种接口。原创 2024-08-28 02:00:00 · 1246 阅读 · 0 评论 -
C++ 设计模式——桥接模式
桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们都可以独立地变化。这种模式通过组合的方式来代替继承,增加了系统的灵活性。原创 2024-08-29 00:00:00 · 1688 阅读 · 0 评论 -
C++ 设计模式——中介者模式
中介者模式(Mediator Pattern)是一种行为型设计模式,它允许对象间的通信被封装到一个中介者对象中。该模式的主要目的是减少多个对象和类之间的通信复杂性,通过创建一个集中的控制点来管理相互间的依赖关系。这种模式特别适用于大型系统中,可以帮助减少组件之间的直接交互,从而使其更易于维护和扩展。原创 2024-08-30 00:00:00 · 2858 阅读 · 1 评论 -
C++ 设计模式——备忘录模式
备忘录(Memento)模式也称为快照(Snapshot)模式,是一种行为型模式,主要用于防止数据丢失。它通过对对象的状态进行备份,以便在未来需要时可以恢复这些数据。换句话说,该模式能够将某个时间点的对象内部状态保存下来,并在必要时根据保存的内容将该对象恢复到当时的状态。备忘录模式的结构比较简单,使用频率相对较低,但在特定场景下非常有用。原创 2024-08-30 13:55:04 · 1919 阅读 · 0 评论 -
C++ 设计模式——职责链模式
职责链(Chain Of Responsibility)模式也叫责任链模式,是一种行为型模式,用于将一个请求传递给一个链中的若干对象,哪个对象适合处理这个请求就让哪个对象来处理。职责链看起来与传统数据结构中的“链表”非常类似。原创 2024-08-31 11:06:55 · 1767 阅读 · 0 评论 -
C++ 设计模式——访问者模式
访问者模式(Visitor Pattern)是一种行为设计模式,其目的是将数据结构与数据操作分离,使得在不修改已有程序代码的情况下,可以添加新的操作。这种模式通过定义一个访问者类,来改变一个元素类的执行算法。访问者模式使得你能够在不改变元素类的前提下,定义作用于这些元素的新操作。原创 2024-09-01 00:00:00 · 2143 阅读 · 0 评论 -
面向对象程序设计原则——里氏替换原则(LSP)
里氏替换原则(Liskov Substitution Principle,LSP)是面向对象设计中的一个重要原则,由芭芭拉·利斯科夫(Barbara Liskov)在1987年的会议演讲中首次提出。这个原则后来成为著名的SOLID原则之一,SOLID是五个面向对象设计原则的首字母缩写。其核心思想是:如果一个程序中使用了一个基类的对象,那么一定可以使用其子类的对象来替换它,而不会影响程序的正确性。简而言之,子类应该可以完全替代父类,而不会导致程序出错或行为异常。原创 2024-09-01 00:15:00 · 1369 阅读 · 0 评论 -
C++ 设计模式——解释器模式
解释器模式是一种特定于语言的模式,用于定义如何评估语言的句法或表达式。它适用于某些重复出现的问题,可以将一个需要解释执行的语言中的句子表示为一个抽象的语法树。这种模式通常被用于开发编程语言解释器或简单的脚本引擎。原创 2024-09-02 00:00:00 · 2998 阅读 · 0 评论