大话专题

适配器模式(大话设计模式)C/C++版本

适配器模式 C++ #include <iostream>using namespace std;// 球员class Player{protected:string name;public:Player(string name) : name(name) {}virtual void Attack() = 0;virtual void Defense() = 0;virtual

备忘录模式(大话设计模式)C/C++版本

备忘录模式 C++ #include <iostream>#include <string>using namespace std;// Memento类,备忘录,此处为角色状态存储箱class RoleStateMemento{private:int m_vit; // 生命力int m_atk; // 攻击力int m_def; // 防御力public:RoleState

大话C语言:第25篇 动态库

1 动态库概述         C语言动态库(也称为共享库)是在程序运行时被加载到内存中的库文件,它包含了可由多个程序共享的代码和数据。动态库在编译时不会被直接链接到目标程序中,而是在程序运行时动态加载。这种特性使得动态库具有一些优势,如节省磁盘空间、便于更新和维护、以及支持多个程序同时共享库代码。         动态库通常以.so(在Linux和类Unix系统中)或.dll(在Window

《大话数据结构》最小生成树——Kruskal算法

/*2014-6-24思想:n个节点的图中,只需要找到权值最小且不与现有边集合构成环的(n-1)条边,必成最小生成树。方案:将边的权值进行筛选,每次找到权值最小的边,补充道边集合中即可。难点:如何确保这些边不构成环——对每个边,让其起始节点是祖先,通过洄游寻根,如果祖先相同说明两个节点是“近亲”,会构成闭环:A-B-C-A三角形中:1. A-B边中确定B的祖先和父亲都是A;2. B-C边中,确定C

Linkin大话Java和internet概念

整理电脑,无意中翻到不知道哪里来的文章,觉得里面写的很好,仔细看过一遍后,整理了下贴了出来,其中的好多概念我觉得讲的很透彻。 既然Java不过另一种类型的程序设计语言,为什么还有这么多的人认为它是计算机程序设计的一个里程碑? Java除了可解决传统的程序设计问题以外,还能解决World Wide Web(万维网)上的编程问题。java比较高级的应用有2块:一块是我现在正在玩的j2

linkin大话设计模式--常用模式总结

linkin大话设计模式--常用模式总结 一,常用设计模式定义 Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Adapter(适配器模式):将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Bridge(桥接模式):将抽象部分与它的实现部分分离,

linkin大话设计模式--适配器模式

linkin大话设计模式--适配器模式 大家知道,在java中只允许单继承,但是在实际问题中往往都需要多继承,java引入了接口这一概念。(一个类可以实现多个接口) 由于接口中都是抽象方法,那么我们在实现它的时候就必须全部覆写这些方法。假如我有一个类,这个类只想覆写一部份方法怎么办?   在接口与这个类中间可以加一个抽象类: 抽象类去覆写接口中的全部方法,而那个类去继

观察者模式(大话设计模式)C/C++版本

观察者模式 扩展:观察者模式——委托 C++ 参考:https://www.cnblogs.com/Galesaur-wcy/p/15905936.html #include <iostream>#include <list>#include <memory>#include <string>using namespace std;// Observer类 抽象观察者,为所有的

抽象工厂模式(大话设计模式)C/C++版本

抽象工厂模式 C++ 参考:https://www.cnblogs.com/Galesaur-wcy/p/15927110.html #include <iostream>using namespace std;// 抽象产品Department ,定义具体产品的公共接口class Department{public:virtual ~Department() = default

大话C语言:第24篇 预处理

1 C语言编译流程 C语言的编译流程包括: 预编译:将.c 中的头文件展开、宏展开,生成的文件是.i 文件。gcc指令:gcc -E file.c -o file.i 编译:将预处理之后的.i 文件生成 .s 汇编文件。gcc指令:gcc -S file.i –o file.s 汇编:将.s 汇编文件生成.o 目标文件。gcc指令:gcc -c file.s -o file.o 链接:

外观模式(大话设计模式)C/C++版本

外观模式 C++ #include <iostream>using namespace std;class stock1{public:void Sell(){cout << "股票1卖出" << endl;}void Buy(){cout << "股票1买入" << endl;}};class stock2{public:void Sell(){cout << "股票2卖出" <

工厂方法模式(大话设计模式)C/C++版本

工厂方法模式 C++ 参考:https://www.cnblogs.com/Galesaur-wcy/p/15926711.html #include <iostream>#include <memory>using namespace std;// 运算类class Operation{private:double _NumA;double _NumB;public:void S

模板方法模式(大话设计模式)C/C++版本

模板方法模式 C++ #include <iostream>using namespace std;class TestPaper{public:void TestQ1(){cout << "杨过得到,后来给了郭靖,炼成倚天剑,屠龙刀的玄铁可能是[ ]\na.球磨铸铁 b.马口贴 c.高速合金钢 d.碳素纤维" << endl;cout << "答案: " << Answer1() <<

【大话设计模式】——总结

大话设计模式从开始总结到现在,大概写了八、九篇博客了,总结下来,感觉收获还是挺大的!现在就说说我的 一 些学习感受吧! 理论联系生活 刚开始接触大话设计模式的时候就喜欢上了,很简单,太贴近生活了。所有的模式,作者都从生活中找实例,这 不就是跟老师学的找联系吗?每个设计模式都是由一个例子引出的,感觉看下来之后比较轻松,很容易理解和掌握。 而且从这本书上

【大话设计模式】——行为型模式之“中介模式”

行为型模式的最后一个“中介模式”——命令模式,中介者模式和访问者模式。 下面就这三个模式进行一下简单的介绍。 命令模式——记录人 吃羊肉串的实例引出了命令模式。本来感觉卖羊肉串是小本买卖,所以老板可能不会雇人给专门记录什么的,但 志,以及支持可撤销的操作。 是也正是因为这样的想法,所以他们的买卖做不大!因为老板和顾客的联系太紧密了, 如果人一多,人多口杂,老板一个人根本记不

【大话设计模式】——行为型模式之“拟人化模式”

继续接着上回行为型模式,我们再说说它的拟人化模型——观察者模式,状态模式,解释器模式和策略模式。从 这四个设计模式的名称上即可知道他们拥有同人一样的观察能力,心理状态,遇到问题获得解释、策略的能力。下 面我们从他们四个具体的性质来说明一下他们是怎么“拟人化”的。 观察者模式——打小报告 呵呵,我给观察者起了一个小外号——打小报告的人。从书上的例子知道,那个前台秘书就是个打小报告的人。

【大话设计模式】——行为型模式之“顺序模式”

行为型模式的总结来的有点迟,不过晚到总比不到好啊! 行为型模式是设计模式中分量占的比较多的,所以分类也相对比较麻烦,如图所示: 因为之前在有模板,啥都好说中介绍过模板方法模式,这里就不进行阐释了。下面就上图分类,将行为型模式拆 分成三大部分进行分析。先以顺序模式开始: 顺序模式 我将职责链模式,迭代器模式和备忘录模式分类到顺序模式里,因为他们都跟

【大话设计模式】--创建型模式总结

前面两篇关于工厂家族和有模板,啥都好说中除了抽象工厂模式和模板方法模式外都是创建型模式,再外加一个 单例模式。 那么,什么是创建型模式? 在软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象。基本的对 象 创建方式可能会导致设计时间的问题,或增加设计的复杂度。创建型模式通过以某种方式控制对象的创建来解决这 些问题。创建型模式由两

【大话设计模式】--结构型模式

在结束创建型模式的总结之后,继续结构型模式的学习总结。 结构型模式是? 在软件工程中结构型模式是设计模式,通过了解元件间的关系,以简化设计。结构型模式涉及到如何组合类和对 象 以获得更大的结构。结构型模式采用继承机制来组合结构或实现,不是对接口和实现进行组合,而是描述了如何对 一些对象进行组合,从而实现新功能的一些方法。因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更

【大话设计模式】-有模板,啥都好说!

在学习创建型模式的时候,重新看了原型模式和建造者模式,感觉惊人的类似。如果再加上模板方法模式就更加 难 以区分了,所以就这三种模式进行比较细致的区分。 原型模式--Copy 原型模式,在我看来就一个字:copy。 它的定义是:用原型实例指定创建对象的种类,并且通过拷贝这些原型创 建新的对象。它的结构图如下: 原型模式其实就是从一个对象再创建另外

【大话设计模式】--工厂家族

在接触大话设计模式,我们最先了解的就是三个工厂家族:简单工厂,抽象工厂和工厂方法。下面就这三个工厂 进行一些简单的学习和讲解。 简单工厂 简单工厂是用一个单独的类来创造实例的过程,通常创建的实例都拥有共同的父类。简单工厂模式中包含的角色 及其相应的职责如下: 工厂角色(Creator):这是简单工厂模式的核心,由它负责创建所有的类的内部逻辑。

【大话设计模式】--初涉设计模式

在结束完机房之后,到现在的很长一段时间没有敲代码,看着十期他们天天看牛腩,敲代码,调试,而且还用着 自 己 不懂的语言,感觉可羡慕了。在学习C#的时候其实可带劲了,可是新语言接受起来也不是那么容易的。 在完成C#视频之后进行的大话设计,感觉原来同一个东西原来还可以用这么多种方法表示,原来按照这种模式设 计 出来的东东这么方 便的!下面说说刚接触大话的一点点小收获,如果

大话通道

稍微有编码常识的同学,都会意识到程序并非完全按照纯代码逻辑顺序执行。有多线程多进程经验,知道程序执行往往表现的像无规律的交叉,而且每次重新来过,还体现不一样。 本文以通道为引子,意直白讲述并发同步 内存顺序 编译器(在编译时刻)优化和CPU处理器优化(运行时),会调整指令的执行地顺序。这导致指令执行顺序与代码指定的顺序不完全一致。所以当你认为你的代码是按照书写的逻辑执行时,事实有可能并非

大话 goroutine

goroutine本质上是大号版的异步执行句柄,比之nodejs中的单线程事件循环处理器。之所以在使用goroutine,感觉不到异步,在于golang已经封装了各种异步io操作,运行时一旦发现异步io状态发生改变,则适时进行goroutine切换。让你基本上感觉不到像基于事件编程所带来的直观上的任务执行乱序。 启动 VS 执行 goroutine 这种由运行时控制,构建于线程之上,又比

大话设计模式解读02-策略模式

本篇文章,来解读《大话设计模式》的第2章——策略模式。并通过Qt和C++代码实现实例代码的功能。 1 策略模式 策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。 策略模式的特点: 定义了一组算法(业务规则)封装了每个算法这一类的算法可互换代替 策略模式的组成: 抽象策略角色(策略类): 通常由一个接口或者抽象类实现具体策略角色:包装了相关的算

大话设计模式总结——为什么要学设计模式?

引言:  从开始大话到现在,断断续续的总结,停停走走之间貌似我已经欠下了很多的账……,出来混早晚都要还的啊! 从一开始学习大话,自己想的是,因为要在机房收费系统重构的时候用到设计模式,所以会有这个内容的学习。认识比较的肤浅。也有过一篇宏观的大话总结《设计模式——宏观总结》,里面有谈及过设计模式的用处,但是说句实话,那只是从书上看到的,真正的体会自己还是很少的。当然自己在学习每一个模式的过程中基