- 博客(15)
- 资源 (10)
- 问答 (2)
- 收藏
- 关注
原创 C++设计模式系列文章汇总
Jungle整理的C++设计模式系列文章出炉了,每一种设计模式都包含:理论知识:每一种模式的定义、解释 模式UML结构和角色分析:UML类图说明模式的角色和结构 模式应用实例:将设计模式应用于具体的例子,并给出UML实例类图 完整的源代码:完整的代码和运行结果示意图,源代码资源及UML图可在Git上下载 总结:每一种模式的特点和适用环境设计模式准备工作设计模式(一)——设计...
2019-11-12 22:12:35 7744 4
原创 计算机网络——域名系统
在命令行里敲入ping www.baidu.com,下面的提示会显示39.156.66.14这个IP地址(显然,这是一个A类地址)。同样,输入ping www.google.com,同样会显示一个IP地址。这是什么意思呢?再做一个小测试,在C:\Windows\System32\drivers\etc文件夹下,有一个文件hosts。Jungle用notepad打开这个文件,有如下内容:...
2019-11-24 10:50:17 2742
原创 计算机网络——TCP的三次握手和四次挥手
TCP是面向连接的协议(计算机网络——运输层),每一个运输连接包括连接建立、数据传送和连接释放。运输连接的管理就是使运输连接的建立和释放都能正常进行。TCP连接采用的是CS模式,主动发起的连接的应用进程叫客户(Client),被动等待连接的应用进程叫服务器(Server)。在TCP连接建立过程中需要解决以下三个问题:(1)要使每一方能够通知对方的存在;(2)要允许双方协商一些参数(如最大窗...
2019-11-23 11:02:53 618
原创 计算机网络——运输层
一、运输层概述运输层向上面的应用层提供通信服务,是面向通信部分的最高层,也是用户功能中的最底层。“两个主机之间的通信”这种说法并不准确,因为真正进行通信的实体是在主机中的进程。一个主机中可能有多个进程与另一个主机中的多个应用进程通信。所以,从运输层的角度来看,通信的真正端点并不是主机,而是主机中的进程。即端到端的通信是应用进程之间的通信。每一台主机都有一个IP地址(至少一个),因此网络层为主机...
2019-11-22 22:15:18 1461
原创 计算机网络——物理层
在计算机网络体系中个,物理层考虑的是如何连接(各种计算机的传输媒体上传输的)比特流。所以,双绞线、同轴电缆等具体的传输媒介,并不是物理层的含义。计算机网络中的硬件设备和传输媒体的种类繁多,通信手段方式各异,物理层的作用,是要屏蔽掉上述差异,使物理层上面的数据链路层感觉不到这种差异(数据链路层只需考虑如何完成本层的协议和服务,而不必考虑网络具体的传输设备和媒介)。一、数据通信系统1.数据通信...
2019-11-19 22:48:23 514
原创 C++设计实现日志系统
日志系统几乎是每一个实际的软件项目从开发、测试到交付,再到后期的维护过程中极为重要的查看软件代码运行流程、还原错误现场、记录运行错误位置及上下文等的重要依据。一个高性能的日志系统,能够准确记录重要的变量信息,同时又没有冗余的打印导致日志文件记录无效的数据。本文Jungle将用C++设计实现一个日志系统。1.为什么需要日志为什么需要日志?其实在引言中已经提到了,实际的软件项目的几乎每个过...
2019-11-17 11:06:58 6660 3
原创 访问者模式,从双十一购物开始说起
欧耶!这周Jungle的作业终于做完了!作业是什么呢?就是完成一个习题册。Jungle做完之后,得让家长检查习题册并签字;第二天交到学校,组长得初步检查作业是否做完、家长是否签字,然后老师会评阅作业是否正确,并给出评分。就是这么一个习题册,这是经了多少人的手啊! Jungle——完成习题册上的题; Jungle家长——检查儿子的作业,并在习...
2019-11-10 22:57:49 3609 5
原创 不知不觉就在使用的一种设计模式——模板方法模式
类的继承你一定用过,派生类覆写基类的方法你也一定用过,只是你可能不知道,这就是传说中的一种设计模式……1.模板方法模式简介模板方法模式是较简单且常用的一种设计模式,是基于类的继承的一种代码复用技术,其结构只存在基类和派生类之间的继承关系。模板方法是一个具体的方法,给出了一个顶层逻辑流程框架。模板方法模式:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。模板方法模式使...
2019-11-10 10:48:34 3625 9
原创 如何管理和维护算法族?只需知道策略模式
同样是排序算法,你可以选择冒泡排序、选择排序、插入排序、快速排序等等,也即是说,为了实现排序这一个目的,有很多种算法可以选择。这些不同的排序算法构成了一个算法族,你可以在需要的时候,根据需求或者条件限制(内存、复杂度等)适时选择具体的算法。在面向对象的设计里,该如何设计这样一个算法族呢?它包含了多种算法,在使用的时候又会根据条件来选择具体的算法?这就会用到软件设计模式中的——策略模式。...
2019-11-09 21:23:22 4247 1
原创 状态模式——从斗地主开始说起
“人有悲欢离合,月有阴晴圆缺”。很多事物在特定条件下转换成不同的状态,在不同状态下表现出不同的行为。在软件系统中,有些对象在不同的条件下也具有不同的状态,不同状态之间可以相互转换。通过判断不同的条件分支(if...else...或者switch..case...)可以进行状态的转换。但这样势必使得代码的判断逻辑变得复杂,降低系统的可维护性。如果新加入一种状态,还需要修改判断逻辑,不符合...
2019-11-09 10:40:05 3690 4
原创 “牵一发而动全身”——我用观察者模式简单模拟吃鸡
每当Jungle公众号【Jungle笔记】更新发布了文章,作为Jungle的关注者,你会第一时间接到消息,(如果)然后就可以去查看、点赞、评论和转发,接下来的一天你都高高兴兴;每当Jungle更新了CSDN博客,作为Jungle的支持者,你也会在打开CSDN网站的时候看到消息,(如果)然后你就可以去查看、点赞、评论和转发,接下来的一周你都高高兴兴。也就是说,“Jungle更新发布文章”...
2019-11-06 21:35:22 6358 11
原创 我用备忘录模式设计了简易的版本控制系统
“Ctrl+Z”是什么操作?各位都用过,并且经常使用吧?撤销!撤销上一个操作返回上一个状态,甚至撤销好几个操作,返回到几个操作之前的状态。这个操作非常有用,一旦我们某一步操作失误,可以选择撤销操作来返回原来的无错状态。那么系统怎么知道每一步的状态呢?它一定保存了一定数量的历史状态!就像Git版本控制一样,保存着每一次提交的状态,使用者可以随时reset到历史某个状态,就像一个备忘录一样,保存...
2019-11-05 22:45:58 7684 1
原创 中介者模式,说一说贝壳找房
离开学校参加工作之前,你一定是有一段时间是在找租,Jungle也是如此。Jungle为了找到合适的房子,沿着地铁线一个小区一个小区的去问门卫问保安,或者照着小区门口展板上的房东的联系方式去找房东……此事已经过去大半年了,但Jungle现在想来还是觉得很麻烦!麻烦在哪里?得亲自走亲自联系各个房东,通信录和微信得加好多房东……其实有更省事的办法,那就是找中介,租房中介哪儿都是。虽然贵(...
2019-11-04 07:45:26 4398 1
原创 迭代器模式,给你更高大上的遍历体验~
写代码不少使用数组或者类似的集合对象吧?每次要遍历一遍数组怎么办?For 循环!或者while循环,一个一个访问每个位置的元素,直到数组末尾。STL里面甚至有专门的迭代器,针对具体的集合类对象,有对应使用的迭代器。STL的迭代器提供了丰富的遍历方法,如访问集合对象的首位元素、末位元素、指定位置的元素、下一个元素……怎么样,是不是感觉有了迭代器,遍历方法不再是难事了?1.迭代器模式概述...
2019-11-03 14:16:14 3543 2
原创 读懂老板的暗语,你需要知道解释器模式~
看过《大明王朝1566》吗?这是Jungle所看过的历史剧当中最最喜欢和推崇的一部剧。看过这部剧的小伙伴们都知道,嘉靖皇帝说话从来不会明明白白说出来,而是喜欢绕着说,或者说暗语,若不细细揣测,根本不知道嘉靖说的真实含义是什么。比如他跟陈洪说“行到水穷处,坐看云起时”,陈洪就意会到皇上是让他除草;太子喜获儿子,嘉靖给了枣和栗……要是Jungle生活在那时候,脑壳真得变大啊,整天揣测皇帝的意图都够了...
2019-11-02 22:30:50 3037 1
Qt5+Coin3D仿真6轴工业机器人视频教程
2022-03-02
Qt实现客户端与服务器消息发送与文件传输
2018-12-03
OpenInventor实现索引线集管理
2018-05-22
Qt图片浏览器
2018-05-05
Qt-C++实现文件浏览器
2018-04-29
Coin3D+Qt+C++碰撞检测
2017-12-28
C实现任意阶矩阵求逆矩阵
2017-12-14
Qt+VS2008+OpenInventor编程SoBasic.h太多警告
2016-03-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人