自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 MQTT入门教程

MQTT是一种轻量级、高效的消息传输协议,适用于低带宽、不稳定的物联网环境。其发布/订阅模式实现设备间异步通信,支持QoS、保留消息与持久会话,具备高可靠性。通过Mosquitto Broker实现最小命令行示例,可完成消息发布与订阅。在WPF中使用MQTTnet库,结合UI线程调度,实现连接、订阅、收发消息功能,验证了MQTT在实际应用中的便捷性与有效性。

2026-09-19 19:04:52 98

原创 如何拓展多态下的子类

本文探讨了面向对象编程中如何处理子类新增方法的需求变化问题。核心要点包括:1)遵循开闭原则,直接为子类添加新方法;2)使用模式匹配或动态调度技术(如C#的dynamic)实现多态调用,避免大量if-else判断;3)通过适配器模式包装现有类,无需修改原有代码即可扩展功能。文章以通信接口为例,演示了如何优雅处理TCP和串口通信的不同实现,保持代码可扩展性同时最小化修改范围。这些技巧有效平衡了代码复用性和扩展性的需求。

2026-07-21 00:07:29 164

原创 event是委托、函数指针的特殊形式。本文记录了部分特性。

如图:每个绑定函数得到的数组地址相同。结论:按绑定的先后,顺序执行。

2026-07-19 18:50:06 247

原创 压印图案的划痕检测

本文探讨了复杂背景下的划痕检测方法。提出了四种解决方案:直接差分法(需亚像素级对齐)、模板匹配差分法(依赖匹配精度)、SVM特征分类法(无法定位)和CNN神经网络(需大量训练样本)。实验表明,各方法均存在不同局限,特别是CNN方法受样本数量和质量影响较大,难以实现完全准确识别。研究揭示了复杂背景下精确划痕检测的技术挑战。

2025-12-19 17:48:25 417

原创 使用 SVM(支持向量机)进行图像分类:从读取图像到训练与分类的完整流程

本文介绍如何用支持向量机(SVM)对图像进行分类。以“石头/剪刀/布/none”分类为示例。

2025-08-30 16:43:47 656

原创 个人笔记:ORM数据库框架EFCore使用示例,运行通过,附源码

Entity Framework(EF)使用示例,附带源码,VS2022已运行

2024-12-20 19:02:18 1136 2

原创 可测试,可维护,可移植:上位机软件分层设计的重要性

从三个方面论述了上位机软件分层设计的必要。

2024-09-08 11:57:54 991

原创 MahApps.Metro的MVVM模式解析(二) 主题功能

MahApps.Metro是一个开源的WPF框架,旨在为WPF应用程序提供现代和漂亮的用户界面。在MahApps.Metro中提供了切换主题的功能。经过多日的筛选和分析,在本文来理清它的脉络。

2024-05-27 11:46:28 1129

原创 MahApps.Metro的MVVM模式介绍(一)

MahApps.Metro的MVVM模式介绍

2024-05-07 21:19:09 1240

原创 Visual Studio 中.net8.0(以前叫NET Core)框架和.net framewok 框架有什么区别?

.NET Core(.net8.0)框架和.net framewok框架的区别

2024-05-06 11:57:28 6918 1

原创 打工人怎么干好活-程序员

打工人怎么做好工作

2024-04-11 09:33:52 452

原创 C# 高级特性(十一):多线程之async,await

之前使用Thread和Task启动多线程时都会遇到一个麻烦,就是如何反馈结果。在代码里就是如何设计回调函数。如果带界面还得考虑UI线程的问题。

2024-03-05 13:50:24 762

原创 物联网模块esp8266 的使用经验【flash_download_tools_v3.6.6、arduino】

在此记录和分享一下esp8266的使用流程。

2024-01-04 09:27:12 2012

原创 数字图像处理 3图像增强;4图像分割2

近来复习《数字图像处理与机器视觉》网课。分享下学习笔记,

2023-10-18 06:48:21 346

原创 qt creater11 翻译国际化教程教程:

qt 的翻译功能

2023-09-01 17:25:38 1430

原创 用QT实现MVP模式

mvp模式示例

2023-08-25 16:46:09 2897 1

原创 Window make编译的问题“mingw32-make: *** makefile。 停止。“

makefile 故障

2023-06-05 15:12:17 2485

原创 C语言:CRT detected that the application wrote to memory after end of heap buffer

数组越界访问问题

2023-04-18 14:49:08 909

原创 OpenCV杂谈-为什么新建的图像会有错乱的杂点.Net(C#)

Net(C#)环境下 用new Mat方式新建的图像会有彩色的杂点.

2023-02-12 01:01:44 245

原创 OpenCV杂谈 - 如何导出图像到内存中其他结构

最近学习在net环境使用OpenCV,记录些疑难杂点

2023-02-12 00:37:27 849

原创 设计模式实践——IOC模式

IOC模式 又被称为依赖倒置模式。它将原本调用者类+功能类 的耦合关系改成 调用者类+中间类、中间类+功能类。

2023-01-04 20:42:31 894

原创 设计模式实践-中介模式

/* 20221225 中介模式对于多个已经封装好的对象,若需要他们彼此间直接通信。则可以使用一个中介对象,统一接收、发送消息。但缺点是中介对象会比较复杂 */

2022-12-25 10:00:12 158

原创 设计模式实践-命令模式

处理一连串、可能修改撤销的指令时,可以使用命令模式。

2022-12-22 11:01:51 152

原创 设计模式实践-观察者模式

观察者模式在一对多的情况下,可以让多绑定到一的事件上。从而实现多个观察者获取通知。

2022-12-06 01:11:19 196

原创 设计模式实践-建造者模式

建造者模式通过拆分一件复杂的工作 成一系列小步骤。从而在相似工作中,复用其中一部分小步骤。同时通过一个指挥者类,将小步骤包装成一件完整的工作。

2022-12-06 01:10:17 231

原创 设计模式实践-抽象工厂模式

* 抽象工厂,在简单工厂的基础上用反射替代switch语句 * 抽象工厂模式,遵守了 封闭原则。如果增加新的功能类,那么只需要继承原有工厂类,再添加新工厂方法。 * 这样完全不用修改原有工厂类

2022-12-06 01:09:07 277

原创 一种词库的比对、保存方式

一种词库的比对、保存方式

2022-11-22 07:32:51 373

原创 C# 高级特性(四):索引器(Indexer)

索引器(Indexer) 允许一个对象可以像数组一样使用下标的方式来访问。

2022-11-22 07:30:00 640

原创 设计模式实践-代理模式

代理模式 实践

2022-11-22 07:29:06 164

原创 设计模式实践-装饰模式

装饰模式 实践

2022-11-22 07:07:16 120

原创 C# 特性:析构函数-是否调用测试

我在写日志模块时,采取一直打开文件的方式以便快速写入。也就希望软件关闭的时候,能自动关闭文件流。避免最后的一点日志不能保存到磁盘。于是研究了下C#的析构函数。结论是:某些情况下析构函数不会被执行。不建议使用析构函数

2022-04-12 13:13:30 1480

原创 C# 高级特性(十):多线程

用 Thread实现多线程: // 1 不带传入参数的 public void ThreadFun() { // 处理后台,例如等待网络响应或耗时长的计算任务 Console.WriteLine("Thrad:start do something"); Thread.Sleep(2000); Console.WriteLine("Thrad:end ");

2021-11-29 22:33:08 226

原创 C# 高级特性(九):不安全代码(unsafe)

当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量。不安全代码或非托管代码是指使用了指针变量的代码块。 // 作用域是一整个函数 public unsafe void Fun() { int* numPoint; int numA = 10; int numB = 20; numPoint = &numA; Con

2021-11-29 21:57:15 730

原创 C# 高级特性(八):匿名方法(Anonymous methods)

匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。在匿名方法中您不需要指定返回类型,它是从方法主体内的 return 语句推断的。 class AnonymousMethods { // 委托中使用匿名方法 delegate void HandleMessage_Delegate(string message); public void Fun() {

2021-11-29 21:46:44 564

原创 C# 高级特性(八):泛型(Generic)

泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。下面这个简单的实例将有助于您理解这个概念:...

2021-11-29 21:03:20 175

原创 C# 高级特性(七):集合(Collection)

/// <summary> /// 它代表了可被单独索引的对象的有序集合。 /// 它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目, /// 动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。 /// </summary> public void ArrayList_Test() { ...

2021-11-29 16:26:48 469

原创 C# 高级特性(六):事件(Event)

事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。C# 中使用事件机制实现线程间的通信。定义的代码:class Event { // 定义一个委托,输入返回参数都可以自定义 public delegate void ShowMessage_Delegate(string message); public event ShowMessa

2021-11-29 15:31:25 971

原创 C# 高级特性(五):委托(Delegate)

C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针,但它多了类型检查。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。实例如下: class DelegateClass { // 定义一个委托,输入返回参数都可以自定义 public delegate void Show

2021-11-29 14:58:49 1863

原创 C# 高级特性(三):属性(Property)

属性(Property) 是类(class)、结构(structure)和接口(interface)的命名(named)成员。类或结构中的成员变量或方法称为 域(Field)。属性(Property)是域(Field)的扩展,且可使用相同的语法来访问。它们使用 访问器(accessors) 让私有域的值可被读写或操作。例如: class Property { private string name; public string FullName

2021-11-29 05:49:37 436

原创 C# 高级特性(二):反射(Reflection)

可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。//反射(Reflection)有下列用途://1它允许在运行时查看特性(attribute)信息。 public static void ShowAttribute() { System.Reflection.MemberInfo info = typeof(Attribut...

2021-11-28 12:35:22 539

ROM数据库框架EFCore使用示例源码,vs2022运行通过

ROM数据库框架EFCore使用示例源码,vs2022运行通过

2024-12-20

WPF DataGrid ComboBox下拉框数据绑定 代码实例

这是我的博客 里提到的 表格使用的整个项目代码

2022-04-12

TortoiseSVN_1.7.2.22327:xp专用

SVN 极好的代码管理工具(其他需要多人合作完成的电子文档也是很好的)。现推出低版本 1.7.2 ,你还在为成员的XP 头疼吗? 换系统?(:我的软件都是装好的,还原点也装好了,换系统能正常工作吗?) 现在不用愁了,有了SVN——XP版 。团队合作杠杠的。

2016-07-21

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

TA关注的人

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