![](https://img-blog.csdnimg.cn/1045a552136d4415aacaec63bffb675f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
谈模式
文章平均质量分 67
谈一谈在实际工作中用到的设计模式,它们在我的软件架构中起到了非常重要的作用,使得软件的扩展性、维护性都得到显著提升。
shtarliu(我的软件我做主)
从事石油地质软件开发。方向:C++、python、人工智能、图形图像。本人发布的文章基本都是自己实践过的,转载别人的或者只是阅读学习的内容会首先说明。
展开
-
编程模式之工厂——我这样写工厂
编程模式之工厂——我这样写工厂工厂模式用来封装具体对象的创建,但我们没写一个具体的需要创建的对象类,是否要修改工厂呢?或者需要在某个地方进行注册。这样,每写一个具体的对象类,还需要在另外一个地方编写注册代码,程序员都是懒人,能省事儿,绝不费事儿。看代码:#pragma once#include "T_KeyPVector.h"using namespace std;/***ICreator 是创建器接口,它创建RootClass类型的对象,具体类型可以是RootClass类的子类原创 2022-01-05 16:16:11 · 255 阅读 · 0 评论 -
编程模式之访问者
访问者模式,个人理解为是一个分类器,可以把抽象类型恢复到具体类型。面向对象的子类父类就是为了解决抽象、具体的问题。抽象的接口不好定义,免不了少定义了,又要改接口,而有些接口可能还不是很适用于每个具现类,这个时候是要定义抽象接口还是不需要呢,程序员又得费脑细胞了。访问者模式可以方便的将抽象类型落实到具体类型对象。也就是说,你给我一个箱子说装着一个动物,让我给准备食物,通过访问者模式就知道了它原来是一个狗狗,那就准备骨头吧。而且随时可以组织一个喂食访问者、或者一个防疫访问者,不用去修改动物这个类型的接口。这个模原创 2021-12-24 17:03:54 · 412 阅读 · 0 评论 -
模式之消息树
消息树、观察者模式、编程模式、C++、模板编程原创 2021-12-24 10:05:54 · 1204 阅读 · 0 评论 -
编程模式之观察者模式
编程模式大家都很熟悉,观察者模式也是经典中的经典,网络搜索观察者模式的实现代码也比比皆是,那么还有什么好说的呢。这里我想实现的是一个能够广泛使用的观者者模式代码,也即拿来就能用,不用修改而且方便。目前常见的观察者模式大都是书写观者者和被观者者基类,完成观察、通知等操作。实际应用的时候,大都一个场景写一次,不能达到代码最大限度的复用思路。如下图(来源于网络):主要问题出在Update,大部分情况,实现一个观察者模式,Update的时候都是要进行更新操作的,而更新操作时要看具体的ConcreateS原创 2021-12-24 09:56:28 · 966 阅读 · 0 评论 -
模式的唠叨
编程模式,看起来很美,吃起来不香。估计很多人有这种想法,模式变成了思想,落到实处的时候实现起来各式各样。有时候为了模式而模式,反而代码臃肿、难读。而且威力也不是很大。比如,观察者模式,A观察B,完全可以B包含A的指针,然后直接调用A的函数通知即可,没有模式我们也早就这样干了,没有必要煞有介事的Attach、Dettach、Notify,Update等等。我不是说模式不香,我是想说模式不应该只作为一种编程思想,如何把模式实现,以后拿起来就用,不用修改,只扩展就行,而且直接方便。话说这也是模式的6大准则之一原创 2021-12-24 09:51:44 · 161 阅读 · 0 评论