- 博客(11)
- 收藏
- 关注
原创 状态模式(State Pattern)
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。我们将创建一个State接口和实现了State接口的实体状态类。Context是一个带有某个状态的类。我们的演示类使用Context和状态对象来演示 Context 在状态改变时的行为变化。
2023-12-11 20:33:45 378 1
原创 建造者模式(Builder Pattern)
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。我们假设一个快餐店的商业案例,其中,一个典型的套餐可以是一个汉堡(Burger)和一杯冷饮(Cold drink)。汉堡(Burger)可以是素食汉堡(Veg Burger)或鸡肉汉堡(Chicken Burger),它们是包在纸盒中。
2023-12-07 20:32:52 154 1
原创 原型模式(Prototype Pattern)
这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式之一。
2023-12-06 21:20:55 133 1
原创 适配器模式(Adapter Pattern)
有一个接口和一个实现了接口的实体类。默认情况下,可以播放 mp3 格式的音频文件。还有另一个接口和实现了接口的实体类。该类可以播放 vlc 和 mp4 格式的文件。想要让播放其他格式的音频文件。为了实现这个功能,我们需要创建一个实现了接口的适配器类,并使用对象来播放所需的格式。使用适配器类传递所需的音频类型,不需要知道能播放所需格式音频的实际类。类使用类来播放各种格式。
2023-12-05 20:23:19 167 1
原创 抽象工厂:Abstract Factory
抽象工厂模式通常涉及一族相关的产品,每个具体工厂类负责创建该族中的具体产品。客户端通过使用抽象工厂接口来创建产品对象,而不需要直接使用具体产品的实现类。
2023-12-04 20:32:37 173
原创 装饰器模式(Decorator Pattern)
装饰器模式通过嵌套包装多个装饰器对象,可以实现多层次的功能增强。每个具体装饰器类都可以选择性地增加新的功能,同时保持对象接口的一致性。
2023-11-27 21:16:08 111 1
原创 error LNK2001: 无法解析的外部符号 “public: virtual void __thiscall
当子类继承基类时,需要基类的虚函数声明并且定义不然会报错
2023-11-27 21:12:38 472 1
原创 观察者模式:Observer
观察者模式通过将主题和观察者解耦,实现了对象之间的松耦合。当主题的状态发生改变时,所有依赖于它的观察者都会收到通知并进行相应的更新。
2023-11-14 20:33:55 250
原创 策略模式:Strategy Pattern
策略模式通过将算法与使用算法的代码解耦,提供了一种动态选择不同算法的方法。客户端代码不需要知道具体的算法细节,而是通过调用环境类来使用所选择的策略。
2023-11-08 21:13:20 34 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人