自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冯Jungle的个人博客

你清澈又神秘,在贝加尔湖畔

  • 博客(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轴工业机器人视频教程

1. 简介:Qt5+Coin3D实现简易版本的6自由度工业机器人建模仿真软件,鼠标拖动6个按钮可以分别控制6个轴转动。 2. 教程分为8个视频,每个视频长度不超过10分钟,基本涵盖介绍背景、Coin3D基础知识、Qt软件界面设计、工业机器人基础知识和参考文章,以及最后的编码实现。

2022-03-02

Qt实现客户端与服务器消息发送与文件传输

客户端与服务器之间的数据传送在很多案例场景里都会有应用。这里Jungle用Qt来简单设计实现一个场景,即: ①两端:服务器QtServer和客户端QtClient ②功能:服务端连接客户端,两者能够互相发送消息,传送文件,并且显示文件传送进度。 环境:VS2008+Qt4.8.6+Qt设计师

2018-12-03

C语言实现通讯录

C语言实现的通讯录,采用链表实现,具有浏览、增加联系人、删除联系人、修改联系人信息、清空通讯录等功能。

2018-07-22

OpenInventor实现索引线集管理

- 通过界面输入三维坐标(x,y,z),添加到轨迹列表和场景中 - 鼠标选择列表里的某条轨迹,可以在场景里高亮显示该路径 - 通过轨迹列表可以删除轨迹

2018-05-22

Qt图片浏览器

用Qt来设计一个图片浏览器,实现以下功能: ①浏览电脑里的文件夹,将当前文件夹下的图片列表罗列出来; ②鼠标点击列表上的某一张图片,图片将显示出来; ③可以控制浏览当前图片的上一张和下一张; ④实现自动播放的开始和停止控制。

2018-05-05

Qt-C++实现文件浏览器

用Qt来实现这么一个文件浏览器,实现以下功能: 1.可以显示指定目录下的文件列表; 2.鼠标双击文件列表里的文件夹,可以进入其子文件夹,也可返回上一级。

2018-04-29

C语言--成绩管理系统

C语言实现的学生成绩管理系统,插入、修改、删除学生各个课程的成绩,打印成绩单,查询成绩排名等功能。

2017-12-29

Coin3D+Qt+C++碰撞检测

环境:Qt4.8.6+VS2008+Coin3D3.1.3 语言:C++ 功能:检测两个物体之间的碰撞并打印出来;用户通过按钮可以控制是否进行检测。

2017-12-28

C实现任意阶矩阵求逆矩阵

C语言实现任意阶数的矩阵求逆矩阵运算,将结果输出到控制台。 在该程序中,将参与运算的矩阵的阶数用变量n代替。对于不同阶数的矩阵的运算,修改该n变量即可。

2017-12-14

OpenInventor实现模型拖动

OpenInventor和C++开发,实现了在三维场景里,鼠标拖动模型并可以进行旋转等操作。

2017-12-14

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

TA关注的人

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