modbus从站读写有正负号的数据.zip
modbus从站读写有正负号(有符号)的数据,在vs下进行了测试,用的是c++语言,测试工具为Modbus slaves
modbus调试工具.zip
modbus调试工具,包括modbus poll和modbus slave
原型模式(c++,Qt实现).zip
问题引入
简历投递
要求存在多份内容一样的简历,而每次修改只需要修改一份简历的内容,其他副本的内容会跟着变
采用引用或者指针实际上只保存了一份简历,只有第一份简历有用,其它的相当于空白
原型模式
用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象
从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节
克隆的优点
一般在初始信息不发生变化的情况下,克隆是最好的办法,这既隐藏了对象创建的细节,又对性能是大大的提高
如果采用new 进行赋值的方式可能每次构造函数需要执行较长时间,从而导致低效
它不重新初始化对象,而是动态地获得对象运行时的状态
实现方案
工厂方法模式.zip
(1)简单工厂模式的局限:简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但每次扩展功能需要修改原有类,不但对扩展开放了还对修改也开放了,违背了开放封闭原则。
(2)工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。
(3)工厂方法降低了客户程序与产品对象的耦合,工厂方法模式是简单工厂模式的进一步抽象和推广,由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,但缺点是每增加一个产品,就需要加一个产品类的工厂,增加了额外的开发量。
策略模式(设计模式)
(1) Strategy 类:定义所有支持的算法的公共接口,用纯虚函数定义抽象算法接口;
(2) ConcreteStategy 类簇:封装了具体的算法或行为,继承自Strategy,各种策略的具体实现;
(3) Context 类,持有一个策略类的引用,传入具体的ConcreteStategy来配置,最终给客户端调用。
简单工厂模式.zip
(1)代码规范性:命名规范、逻辑强(无明显Bug)、无冗余判断(eg:多个并列if用else if或switch case替代);
(2)面向对象:易维护、可复用、可扩展、灵活性好
(3)面向对象三大特性:封装、继承、多态,合理使用将显著降低程序的耦合度;
(4)封装:业务逻辑(eg:计算器的计算功能)和界面逻辑(eg:计算器的显示)分开,从而降低耦合度,提升复用性;
(5)松散耦合:基于继承多态,采用不同的类单独实现各模块,降低程序的维护风险;
(6)简单工厂模式:定义单独的工厂,解决各模块类的实例化问题。
通过在VS中编程实现父子进程的管道通信.zip
通过在VS中编程,实现父子进程的管道通信,要求父进程从窗口中输入数字,输入的数字通过管道传输给子进程,子进程将输入的字符串进行相加求和,同时打开readme.txt文件计算完成后读取文档中的一行,最后以 和_文档某行字符串的形式进行管道通信返回给父进程。
二自由度机械臂模糊PID控制.zip
建立了二自由度机械臂的运动学模型,并在不调用任何库的情况下手写实现模糊PID控制,仿真中通过控制角速度实现机械臂末端位置的跟踪。
matlab实现对坐标变换的仿真
用matlab实现对坐标变换的仿真,坐标系O1在O0中的初始位置已知,此后坐标系O1在圆周P上运动,运动过程中其x轴始终指向圆心,求固连在坐标系O1上的矩形ABCD的实时位姿。
matlab gui.zip
GUI 基础知识,包含简单实现加减乘除的小例子,包括各种图形对象函数的讲解以及管理数据机制的讲解,此外还含有对各种组件及GUI编辑界面的介绍
单目标遗传算法解决Anytown管网的模型校核问题
利用 EPANET Programmer’s Toolkit 函数和单目标遗传算法 speedyGA,解决 Anytown管网的模型校核问题,通过对 Anytown 管网的管道摩擦阻力系数进行调整,以降低管网压力监测点的模拟值与实测值
之间的误差。
Joseph.zip
采用c++类封装约瑟夫问题,实现过程中使用了c++中的双向链表模板list
K - 近邻算法.zip
本实例参照机器学习实战一书在python3上将K-近邻算法进行实现,里面包括喜好分类和手写数字识别
四叉树处理图像
在matlab中采用四叉树算法对读取的二进制文件进行分割,去除NaN值之后对矩阵进行渲染绘图。
龙格库塔原理详解及解微分方程组的实现
资源包含龙格库塔法的实现原理,利用从原理上matlab实现四阶龙格库塔法解微分方程组,微分方程组为CPG震荡图
VS/C++自动查询/搜索串口号
在VS平台上用C++查找串口号,采用注册表搜索串口号的方式,本程序直接将搜索到的串口号用阿拉伯数字打印到DOS屏幕上
matlab 逻辑运算符应用
matlab
1.逻辑运算的应用
2.代替 elseif 提高运算速度
vs2015 X64平台下实现汇编
_asm关键字报错,vs2015 X64平台汇编
(二)机器人工具箱三维空间描述
机器人工具箱三维空间描述举例
opencv300.props
opencv3.0的配置文件,opencv300.props