![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 94
J^T
这个作者很懒,什么都没留下…
展开
-
【设计模式】——访问者模式(Visitor Pattern)
访问者模式(Visitor Pattern)是一种行为型设计模式,用于在不改变现有对象结构的情况下,定义对对象结构中各个元素的访问操作。本文将详细探讨访问者模式在C++中的应用,并通过示例代码进行说明。原创 2024-08-06 16:50:09 · 377 阅读 · 0 评论 -
【设计模式】——状态模式(State Pattern)
状态模式(State Pattern)是一种重要的行为型设计模式,它允许一个对象在其内部状态改变时改变其行为,使得对象看起来像是改变了它的类。状态模式通过将状态相关的行为封装在独立的状态类中,有效地简化了条件逻辑,提高了代码的可维护性和可扩展性。原创 2024-08-06 16:21:17 · 178 阅读 · 0 评论 -
【设计模式】——备忘录模式(Memento Pattern)
备忘录模式(Memento Pattern),又称快照模式(Snapshot Pattern),属于行为型设计模式。该模式的主要目的是在不破坏对象封装性的前提下,捕获并保存一个对象的内部状态,以便在需要时能够恢复该对象到原先的状态。本文将详细介绍备忘录模式的概念、实现步骤及其在C++中的应用。原创 2024-08-06 16:06:48 · 475 阅读 · 0 评论 -
【设计模式】——命令模式(Command Pattern)
命令模式(Command Pattern)是行为型设计模式之一,它通过将一个请求封装为一个对象,从而使请求发送者和接收者之间解耦,并提供了额外的灵活性,如支持撤销和重做、请求排队等。本文将详细介绍命令模式在C++中的实现及其应用场景。原创 2024-08-06 15:45:46 · 384 阅读 · 0 评论 -
【设计模式】——职责链模式(Chain of Responsibility Pattern)
职责链模式(Chain of Responsibility Pattern)是其中一种重要的行为型设计模式,它允许你将请求沿着处理者链进行传递,直到其中一个处理者能够处理它为止。这种模式的主要优点在于解耦请求的发送者和接收者,使系统更加灵活和可扩展。原创 2024-08-06 15:29:15 · 372 阅读 · 0 评论 -
【设计模式】——迭代器模式(Iterator Pattern)
迭代器模式(Iterator Pattern)是一种行为设计模式,它为访问一个聚合对象(如列表、集合等)中的元素提供了一种统一的方法,同时又不暴露其内部表示。通过迭代器模式,算法与聚合对象的结构相分离,增加了代码的灵活性和可重用性。原创 2024-08-06 15:04:45 · 393 阅读 · 0 评论 -
【设计模式】——观察者模式(Observer Pattern)
观察者模式(Observer Pattern)是其中一种非常流行的设计模式,它定义了一种一对多的依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。本文将详细介绍观察者模式的概念、结构及其在C++中的实现。原创 2024-08-06 14:48:25 · 330 阅读 · 0 评论 -
【设计模式】——模板方法模式(Template Method Pattern)
模板方法模式通过定义一个算法的骨架,允许子类在不改变算法结构的前提下,通过重写某些步骤的具体实现来定制算法的行为。这种模式提高了代码的复用性和可维护性,使得算法的结构更加清晰,同时也便于扩展和维护。在C++中,模板方法模式是一种非常实用的设计模式,通过它我们可以构建出灵活且易于扩展的软件系统。原创 2024-08-06 14:29:31 · 255 阅读 · 0 评论 -
【设计模式】——策略模式(Strategy Pattern)
策略模式是一种强大的设计模式,它通过定义一系列的算法族,并将每一个算法封装起来,使它们可以互相替换,从而提高了算法的灵活性和可重用性。在C++中实现策略模式时,我们需要定义抽象策略类、具体策略类和环境类,并通过环境类来调用具体的策略。策略模式的应用场景广泛,包括但不限于多种排序算法、多种支付方式、日志记录策略和缓存策略等。此外,策略模式还可以与其他设计模式结合使用,以应对更复杂的场景。通过合理使用策略模式,我们可以编写出更加灵活、可维护和可扩展的代码。原创 2024-08-06 14:11:21 · 455 阅读 · 0 评论 -
【设计模式】——代理模式(Proxy Pattern)
代理模式(Proxy Pattern)是结构型设计模式的一种,它为其他对象提供一种代理以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介的作用,可以在不改变客户端代码的情况下增强或控制对象的访问。本文将详细探讨代理模式在C++中的实现和应用。原创 2024-08-06 11:39:05 · 646 阅读 · 0 评论 -
【设计模式】——享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern)是一种对象结构型模式,它通过共享已经存在的对象来减少内存使用量和提高系统性能。享元模式特别适用于那些创建大量相似对象而导致内存消耗过大的场景。本文将详细介绍享元模式在C++中的实现和应用。原创 2024-08-06 11:16:38 · 506 阅读 · 0 评论 -
【设计模式】——外观模式(Facade Pattern)
外观模式是一种非常实用的设计模式,特别适用于复杂的系统,通过提供一个简单的接口来减少客户端与子系统之间的耦合。在C++中,通过类的封装和组合,可以很容易地实现外观模式,从而提升代码的可维护性和可扩展性。原创 2024-08-06 10:45:21 · 506 阅读 · 0 评论 -
【设计模式】——装饰器模式(Decorator Pattern)
在软件开发中,设计模式是解决常见问题的最佳实践。装饰器模式(Decorator Pattern),又称为包装器模式(Wrapper Pattern),是一种结构型设计模式,它允许在不改变原有对象结构的基础上,动态地给对象添加一些新的职责(即增加其额外功能)。这种模式在C++中的应用广泛,特别适合于需要灵活扩展对象功能的场景。原创 2024-08-06 10:18:27 · 438 阅读 · 0 评论 -
【设计模式】——组合模式(Composite Pattern)
组合模式是一种强大的设计模式,它允许我们以一致的方式处理单个对象和对象组合。这种设计模式允许客户端以一致的方式处理单个对象和对象组合,从而简化了代码结构,增强了系统的灵活性和可扩展性。组合模式的核心思想在于统一对象和对象集合的处理方式,通过实现相同的接口或继承相同的抽象类,使得客户端代码可以相同地处理单个对象和组合对象。:组合模式经常与其他设计模式一起使用,如工厂模式(用于创建对象)、访问者模式(用于在不修改对象结构的前提下增加新的操作)等。原创 2024-08-06 09:46:43 · 421 阅读 · 0 评论 -
【设计模式】——桥接模式(Bridge Pattern)
桥接模式也称为桥梁模式、接口模式或柄体模式,它将抽象部分与它的具体实现部分分离,使它们都可以独立地变化。这种分离方式类似于将一座桥分为桥面(抽象部分)和桥墩(实现部分),两者可以独立设计和变化,互不影响。原创 2024-08-06 09:15:14 · 348 阅读 · 0 评论 -
【设计模式】——适配器模式(Adapter Pattern)
适配器模式的核心思想是通过一个中间的适配器类,将两个不兼容的接口进行适配。这个适配器类将目标接口(客户端期望的接口)和被适配者类(已有的接口)连接起来,使得客户端可以通过目标接口调用被适配者类的功能。适配器模式主要有三种形式:类适配器模式、对象适配器模式和接口适配器模式(默认适配器模式)。原创 2024-08-05 17:32:25 · 318 阅读 · 0 评论 -
【设计模式】——建造者模式(Builder Pattern)
建造者模式的核心思想是将一个复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建出不同的表示。它允许用户通过指定复杂对象的类型和内容来构建它们,而无需知道对象内部的具体构建细节。建造者模式隐藏了复杂对象的创建细节,通过一步一步构建一个复杂的对象,使得构建过程更加清晰和易于控制。原创 2024-08-05 16:57:34 · 513 阅读 · 0 评论 -
【设计模式】——单例模式(Singleton Pattern)
单例模式(Singleton Pattern)是这些设计模式中的一种,它提供了一种创建对象的最佳方式,确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。这种模式在需要严格控制资源访问、管理全局状态或实现共享资源访问时非常有用。原创 2024-08-05 16:21:16 · 478 阅读 · 0 评论 -
【设计模式】——原型模式(Prototype Patter)
原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用拷贝这个原型对象的方法来创建出更多同类型的对象。简言之,它利用已有的对象实例(称为“原型”)来创建新的对象实例。原创 2024-08-05 15:28:08 · 441 阅读 · 0 评论 -
【设计模式】——抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式是所有形态的工厂模式中最抽象和最具一般性的一种。它适用于处理具有产品族(即一组相互关联或相互依赖的产品)的产品结构。产品族是指位于不同等级结构中的一组产品,它们之间可能存在一定的依赖或约束关系。抽象工厂模式通过定义一个接口,使得客户端可以在不必指定具体产品的情况下,创建多个产品族中的产品对象。原创 2024-08-05 14:57:08 · 390 阅读 · 0 评论 -
【设计模式】——简单工厂模式(Simple Factory Pattern)
简单工厂模式又称为静态工厂方法模式,它定义了一个工厂类,这个类根据传入的参数不同返回不同类的实例。这些实例通常都具有共同的父类或接口。简单工厂模式的核心在于将对象的创建逻辑封装在工厂类中,客户端通过调用工厂类的静态方法来获取所需的对象,而无需直接实例化具体产品类。原创 2024-08-05 14:28:44 · 402 阅读 · 0 评论