上次编写了一个小软件,用于练手及自己的一个小工具集合.今天把其中的线程池和管理器的代码抽取出来,写成一个博文,让需要的朋友能够进行学习和应用. 这个线程管理器包括了3个类库和一个应用程序,见下图: 第一个是窗体磁吸屏幕的类库,以前有过一个VB编的类库(磁性窗体源码开源 - 开源研究系列文章),这次把C#编写的类库放出来,以后有介绍.第二个为线程池定义及管理器的类库,下面有介绍.第三个为主应用程序,下面有介绍.第四个为需要运行的所有线程的列表定义,以后所有需要运行的线程都在这个类库定义,直接替换该…
上次编写了一个家庭小助手的小工具软件,也对其中的线程池及管理器进行了介绍(见博文:C#开发的线程池和管理器 - 开源研究系列文章),这次把里面的插件部分的功能单独放出来进行介绍,让更多的朋友能够进行学习借鉴及代码复用上. 一.      项目目录: 下面对项目目录进行介绍,其中PlugIns是主程序,Lzhdim的类库为需要的操作库,Plugins.Example为插件程序DLL文件: 二.      插件接口定义: 此程序定义了关于窗口和插件程序两个接口,主要是通过C#的反射进行的调用.其中关…
上次写了一个C#线程池及管理器的博文( C#开发的线程池和管理器 - 开源研究系列文章 ),收到了不小的浏览量,在此感谢各位网友的支持.这次将另一个功能放出来单独讲解:C#应用程序的配置文件,使用的是XML文件保存程序的配置信息,通过XML序列化和反序列化,将配置文件规范起来. 一.      项目目录: 项目主要由一个应用程序及类库组成,其中Framework提供基本的函数,Helper类提供操作需要的函数,Module库提供配置信息对象. 二.      函数介绍: 1.        配置…
上次把磁性窗体的源码开源了,这次就开源另一个程序源码:MP3文件ID3信息编辑器.这个源码也比较简单,关键在于获取和写入MP3文件的这个ID3的信息即可. 这个操作信息编辑的就封装在MP3ID3.bas文件中. 这里定义了类型ID3,因为ID3v1的信息是一个固定长度的文本串,所以通过这个类型我们能够看出来. Title是该MP3文件的标题,长度是30个字符 Artist是MP3文件的演唱者,长度是30个字符 Album是MP3问价的专辑,长度是30个字符 sYear是MP3文件发布的年份,长度…
在实际的C#软件系统开发过程中,会遇到系统配置的保存问题,以及系统存储问题.在以前的系统开发过程中,笔者使用的是INI文件配置管理的方式.到了现在,INI文件配置保存仍然是一个平常使用的方式.在博客园里,笔者看到过有些朋友使用JSON文件的保存配置管理方式.但是,今天笔者带来的是XML存储系统配置信息的方式,无论是JSON还是XML,都需要使用到序列化的方式进行存储,这样才是直接的面向对象编程方式. 下面就对XML序列化方式做一个介绍. 一.首先,添加解决方案中的相关类库: 先添加相关类库Mag…
上次写了一个关于线程池的博文,里面讲到了关于磁吸屏幕的类库,今天就把这个类库进行下讲解. 一.      类库目录: 类库的目录见下图,主要定义了Win32的一些API,以及一些API使用到的常量和结构体定义.主要的类定义在MainAPI里. 二.      主函数介绍: 这里只对主要的函数进行介绍.因为主要是鼠标按下和鼠标移动事件,所以下面对这两个函数进行讲解. 1.        MouseDown事件里的函数定义: 这个函数里比较简单,就是获取到屏幕及窗体的轮廓的坐标位置进行保存. 2. …
在现在的面向对象的分析与设计软件开发过程中,最开始就是面向对象的软件开发.但是,在实际的软件开发过程中,很多都是面向接口的开发方式,这种是一种面向对象开发的模式.但是,今天笔者给大家带来的是面向插件的软件开发方式,典型的例子就是播放器Winamp和Photoshop的模式.这种方式是一种较为普遍的模式,但是这种模式的好处是只要设计好了接口,面向插件的模式就能够成功的对主程序和插件程序进行实际开发,开发商只要维护好主程序即可,插件程序开发者只针对自己开发的插件程序进行开发,分开来进行维护,各自处理…
上次将小软件的线程池描述了,也将插件程序描述了,这次就将里面的资源文件相关的内容进行下记录,这里能够让程序做成国际化的形式(即多语言程序),主要就是通过这个资源文件的方式进行的处理.下面将对这个资源文件的定义进行描述,比网上的其它例子更能够具有代码复用意义. 一.      项目目录: 下图是项目目录,上面是资源文件类库,下面是应用程序.从资源文件库中可看到,我们定义了4个资源文件类,从中对资源文件库中的资源进行读取. 二.      资源文件定义: 我们在资源类库中定义了几个类,对资源文件进行…
分享一个百度智能手环开源项目的设计方案资料. 项目简介 百度云智能手环的开源方案是基于Apache2.0开源协议,开源内容包括硬件设计文档,原理图.ROM.通讯协议在内的全套方案,同时开放APP和云服务的免费使用.这套方案不仅能实现运动记录.睡眠记录检测.时间显示.来电提醒等常规功能,还整合了百度健康云服务,为用户提供基于数据整合的衍生健康服务.百度智能手环基于Nordic公司nRF51822芯片开发,芯片集成BLE蓝牙4.0协议.使用LIS3DH作为加速度传感器,进行运动和睡眠监测. 百度智能…
在Logging这块做了几年,最近1年来越来越多的同学来咨询如何为Kubernetes构建一个日志系统或者是来求助在这过程中遇到一系列问题如何解决,授人以鱼不如授人以渔,于是想把我们这些年积累的经验以文章的形式发出来,让看到这篇文章的同学能少走弯路.这个系列文章定位为长篇连载,内容偏向落地实操以及经验分享,且内容会随着技术的迭代而不定期更新. 前言 第一次听到Kubernetes的名字是在16年,那个时候Kubernetes还处于和Docker Swarm.Mesos方案的“三国鼎立时代”,Ku…