- 博客(25)
- 资源 (2)
- 收藏
- 关注
原创 解释器模式
解释器模式(Interpreter Pattern)是一种行为型设计模式,它提供了一种定义语言文法的表示方法,并且可以使用这种表示方法来解释这种语言的句子。简单来说,解释器模式就是将一个问题表示为语言,然后设计一个解释器来解释这个语言,从而解决问题。
2023-04-20 13:01:24
256
原创 模板方法模式
模板方法模式(Template Method Pattern)是一种行为型设计模式,它在一个抽象类中定义了一个算法的骨架,将一些具体的步骤延迟到子类中实现。这样,子类可以在不改变算法结构的情况下重新定义算法的某些特定步骤。模板方法模式通过将相同的处理逻辑抽象到父类中,实现了代码复用和解耦。
2023-04-20 12:55:17
461
原创 中介者模式
中介者模式(Mediator Pattern)是一种行为型设计模式,它定义了一个中介对象来封装一组对象之间的交互。中介者模式的目的是减少对象之间的直接耦合,使得对象之间可以松散地协作。通过使用中介者,各个对象不需要直接相互引用,而是通过中介者对象来完成交互,从而降低了对象间的耦合性。
2023-04-20 12:34:03
241
原创 AutoGPT太火了,无需人类插手自主完成任务,ChatGPT 已经过时了?
一旦找到相关链接,AutoGPT 就会为自己提出一些问题,例如「每双鞋的优缺点是什么、每款排名前 5 的防水鞋的优缺点是什么、男士排名前 5 的防水鞋」等。结果是,AutoGPT 给出了 top 5 防水鞋公司的一份非常详细的报告,报告包含各个公司的优缺点,此外还给出了一个简明扼要的结论。之后,AutoGPT 继续分析其他各类网站,并结合谷歌搜索,更新查询,直到对结果满意为止。为避免出现问题,最好从简单的目标开始,对输出进行测试,并根据自身需要调整目标,如上文中的 ResearchGPT。
2023-04-13 09:44:29
9853
4
原创 命令设计模式
命令模式(Command Pattern)是一种行为型设计模式,它将请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化。这样可以将调用操作的对象与知道如何实现这些操作的对象分离。命令模式涉及到五个角色:
2023-04-12 15:39:06
68
原创 备忘录模式
备忘录模式(Memento Pattern)是一种行为型设计模式,其目的是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便稍后可以将对象恢复到原先保存的状态。备忘录模式通常包括三个角色:发起人(Originator)、备忘录(Memento)和负责人(Caretaker)。
2023-04-12 15:07:05
160
原创 责任链模式
责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它让多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。链上的对象将请求沿着链传递,直到某个对象处理它为止。在责任链模式中,每个处理器都包含对下一个处理器的引用。请求从链上的第一个处理器开始,直到某个处理器处理请求为止。
2023-04-12 14:58:16
132
原创 访问者模式
访问者模式是一种行为设计模式,它允许在不修改现有类结构的情况下,将新的操作添加到现有类的对象结构中。它通过定义一个访问者类来实现这个目标,访问者类包含所有元素(组成对象结构的各个类)需要执行的操作。对象结构中的每个元素都需要提供一个接受访问者的方法,这个方法将当前元素的引用传递给访问者对象,访问者对象根据接收到的元素类型调用相应的操作方法。
2023-04-12 10:53:57
177
原创 状态设计模式
状态模式(State Pattern)是一种行为设计模式,允许一个对象在其内部状态改变时改变它的行为。这种模式通过将状态抽象为一个独立的类,并通过在原始对象中维护一个对当前状态对象的引用来实现。通过改变原始对象所引用的状态对象,我们可以动态地改变原始对象的行为。
2023-04-12 10:49:28
261
原创 迭代器模式
迭代器模式是一种行为设计模式,它提供了一种方法来顺序访问一个聚合对象(如集合、列表等)中的元素,而不需要暴露该对象的底层表示。迭代器模式的核心思想是将迭代过程(遍历元素)从容器对象中分离出来,以实现更加灵活、通用的迭代方式。
2023-04-12 10:36:05
246
原创 观察者设计模式
观察者模式(Observer Pattern),又称为发布-订阅模式(Publish-Subscribe Pattern),是一种行为设计模式,用于在对象之间建立一对多的依赖关系。当一个对象(被观察者或主题)的状态发生变化时,所有依赖于它的对象(观察者)都会收到通知,并自动更新。这样,被观察者无需关心观察者的具体实现,观察者也无需知道被观察者的内部结构,实现了解耦。
2023-04-12 10:27:11
75
原创 策略设计模式
策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,并将每一个算法封装起来,使它们可以相互替换。策略模式让算法独立于使用它的客户端。
2023-04-12 10:21:52
107
原创 享元设计模式
享元模式(Flyweight Pattern)是一种结构型设计模式,它的目的是通过共享已创建的对象来降低系统中大量相似对象的内存占用。享元模式中的“享元”指的是这些共享的对象。为了实现对象的共享,享元模式将对象的内部状态(Intrinsic State)与外部状态(Extrinsic State)分离。内部状态是与对象相关的不变信息,而外部状态则是与对象相关的可变信息。
2023-04-12 10:14:16
81
原创 组合设计模式
组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树形结构,以表示部分-整体的层次结构。组合模式使得客户端可以统一对待单个对象和组合对象。
2023-04-12 10:01:13
88
原创 桥接设计模式
桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象与实现解耦,使得它们可以独立地变化。桥接模式通过将抽象部分与实现部分分离,可以降低系统的耦合度,提高系统的可扩展性和可维护性。
2023-04-11 15:38:58
190
原创 外观设计模式
外观模式(Facade Pattern)是一种结构型设计模式,它为一组复杂的子系统提供一个统一的接口,使得子系统更容易被客户端使用。外观模式通过定义一个高层接口,将复杂的子系统逻辑封装起来,使客户端与子系统的交互变得简单明了。
2023-04-11 15:27:46
101
原创 代理设计模式
代理模式(Proxy Pattern)是一种结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。代理模式可以在不修改原始对象的前提下,为对象添加一些控制逻辑。代理对象可以在客户端和目标对象之间起到中介的作用,并可以隐藏目标对象的具体实现细节。
2023-04-11 15:17:55
86
原创 装饰器设计模式
装饰器模式(Decorator Pattern)是一种结构型设计模式,用于在不修改原有对象的基础上动态地给对象添加新的功能。装饰器模式通过创建一个新的装饰器类,继承原有类的基本功能,然后扩展或覆盖原有功能。装饰器模式可以在运行时根据需要灵活地给对象添加或组合功能。
2023-04-11 15:14:37
562
原创 适配器设计模式
适配器模式(Adapter Pattern)是一种结构型设计模式,用于在不修改现有类的情况下使其与其他类兼容。适配器模式通过创建一个新的适配器类,将一个类的接口转换为另一个类所期望的接口,从而使原本接口不兼容的类能够协同工作。适配器模式有两种形式:类适配器(使用多重继承)和对象适配器(使用组合)
2023-04-11 15:00:37
360
原创 原型设计模式
原型模式(Prototype Pattern)是一种创建型设计模式,用于创建对象的克隆。在原型模式中,我们使用一个原型实例来指定我们想要创建的对象类型,并通过复制这个原型实例来创建新的对象。原型模式适用于创建对象成本较高的场景,通过复制已有对象来降低对象创建的开销。
2023-04-11 14:44:32
62
原创 建造者设计模式
建造者模式(Builder Pattern)是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式涉及到多个步骤,通常由指挥者(Director)按照特定的顺序调用建造者(Builder)提供的方法,最后由建造者返回构建完成的对象。
2023-04-11 14:32:48
92
1
原创 如何写出高质量的代码(面向对象的七大设计原则)
最近终于又有空闲时间对一些知识点进行归纳整理了,高质量的代码相信是每一个研发人员 梦寐以求的,高质量的代码意味着代码整洁规范、可读性强、可维护性高、易于扩展、复用度高,几乎没有冗余代码,那么怎么产出高质量的代码呢,我想在开发工程中,遵循面向对象的七大设计原则是一个很实用的切入点,下边对七大设计原则分三个章节进行详细介绍一下,以便加深理解。
2023-04-11 10:53:13
193
超详细的C++知识点总结思维导图
2020-03-08
使用WPF的自定义InkCanvas实现毛笔效果
2019-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人