自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 函数声明后的“ - >”是什么?

C++11的新语法:尾随返回类型

2023-08-29 12:10:26 355

原创 解释器模式

解释器模式(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 13:49:20 1523 1

原创 单例模式(分懒汉和饿汉两种)

单例模式是一种创建对象的设计模式,它能确保一个类在整个程序中只有一个实例。

2023-04-11 13:08:19 1096

原创 如何写出高质量的代码(面向对象的七大设计原则)

最近终于又有空闲时间对一些知识点进行归纳整理了,高质量的代码相信是每一个研发人员 梦寐以求的,高质量的代码意味着代码整洁规范、可读性强、可维护性高、易于扩展、复用度高,几乎没有冗余代码,那么怎么产出高质量的代码呢,我想在开发工程中,遵循面向对象的七大设计原则是一个很实用的切入点,下边对七大设计原则分三个章节进行详细介绍一下,以便加深理解。

2023-04-11 10:53:13 193

超详细的C++知识点总结思维导图

周末闲来无事,把C++的知识点重新梳理了一遍,以思维导图的形式呈现给大家,适合初学者,能很好的入门C++,能全面概括C++的重要知识点,可做收藏,学习巩固C++的重要知识点使用。

2020-03-08

使用WPF的自定义InkCanvas实现毛笔效果

wpf模拟毛笔写字的,研究了一个多星期,发现这东西没我原来想的那么 简单, 其实很复杂的,很多学校毕业生论文都是研究这个的,网上的资源也比较少, 有效果的效率又不高,效率高的没效果 自己弄了个简单的,先放出来看看,

2019-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除