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

互联网中,软件工程师岗位会分前端工程师,后端工程师。这是由于互联网软件规模庞大,从业人员众多。前后端分别根据各自需求发展不一样的技术栈。那么上位机软件呢?它规模小,通常一个人就能开发一个项目。它还有必要分前后端吗? 有必要。本文从三个方面论述。分别是可测试,可维护,可移植。 可测试 软件黑盒测试更普 ...

不可不知的WPF几何图形(Geometry)

博主头像 在软件行业,经常会听到一句话“文不如表,表不如图”说明了图形在软件应用中的重要性。同样在WPF开发中,为了程序美观或者业务需要,经常会用到各种个样的图形。今天以一些简单的小例子,简述WPF开发中几何图形(Geometry)相关内容,仅供学习分享使用,如有不足之处,还请指正。 ...

.NET WebSocket高并发通信阻塞问题

博主头像 项目上遇到使用WebSocket超时问题,具体情况是这样的,OTA升级过程中,解压zip文件会有解压进度事件,将解压进度通过进程通信传给另一进程,通信提示超时异常 小伙伴堂园发现大文件使用Zip解压,解压进度事件间隔竟然是1ms,简直超大频率啊 但是,解压事件超频也不应该通信异常啊,于是我通过1ms ...

不可不知的WPF形状(Shape)

博主头像 在WPF开发中经常需要进行绘制图形,可以利用Shape类型绘制基本的形状,而且Shape派生自FrameworkElement,属于UI元素范畴,可以直接利用XAML进行绘制。本文通过一些简单的小例子,简述如何通过Shape类绘制形状,仅供学习分享使用,如有不足之处,还请指正。 ...

C#自定义控件—文本显示、文本设值

C#用户控件之文本显示、设定组件 如何绘制一个便捷的文本显示组件、文本设值组件(TextShow,TextSet)? 绘制此控件的目的就是方便一键搞定标签显示(可自定义方法显示文本颜色等),方便自定义方法又省略了挨个拖拽的过程 纯定义属性 【文本设定】:字体、标签、值、单位;事件方法:Enter、L ...

C#自定义控件—流动管道

C#用户控件之流动管道 如何绘制一个动态的流动管道(FlowPipe)? 分两步绘制 定义属性; 画布重绘; 主要技能: 管道的绘制(渐变色矩形) /// <summary> /// 画渐变色矩形的方法 /// </summary> /// <param name="g">画布</param> // ...

C#自定义控件—转换开关

C#用户控件之转换开关 如何自定义一个转换键(Toggle)? 三步绘制一个精美控件: 定义属性; 画布重绘; 添加事件; 主要技能: 如何自定义属性; 画布重绘的一般格式; 控件的事件触发过程; 技能扩展 转换按钮使能时添加二次确认弹框? 在From窗体中应用控件时,点击事件没有触发? 属性名称在 ...

.NET 网络唤醒

博主头像 本文介绍下电脑设备关机的情况下如何通过网络唤醒设备,之前电源S状态 计算机Power电源状态- 唐宋元明清2188 - 博客园 (cnblogs.com) 有介绍过远程唤醒设备,后面这俩天了解多了点所以单独加个随笔 这里只做局域网唤醒技术验证哈,用于集控平台设备管理。如果要做外网唤醒可以先确认下是否 ...

.NET 摄像头采集

博主头像 本文主要介绍摄像头(相机)如何采集数据,用于类似摄像头本地显示软件,以及流媒体数据传输场景如传屏、视讯会议等。 摄像头采集有多种方案,如AForge.NET、WPFMediaKit、OpenCvSharp、EmguCv、DirectShow.NET、MediaCaptre(UWP),网上一些文章以及 ...

网卡-热点搜索不到或者无法连接问题

博主头像 大屏Windows设置网卡开启热点后,经常收到反馈,手机端无法搜索到大屏热点、或者手机连接大屏热点失败 这类问题一般有以下几类情况: 1. 物理网卡IP与热点网卡IP相同 2. 热点网卡IP,非正常热点IP(192.168.137.X) 热点IP我们一般定为192.168.137.X,192.168 ...

Caliburn.Micro学习之Action Conventions

最近在学习Caliburn.Micro这个框架,应用于WPF项目。相较于prism,caliburn.micro对于事件的绑定就完全不一样,它有好几种模式,借鉴于caliburn.micro的官方simple可以研究说明一下 链接:https://github.com/Caliburn-Micro/ ...

.Net 中各种线程同步锁

博主头像 编程编的久了,总会遇到多线程的情况,有些时候我们要几个线程合作完成某些功能,这时候可以定义一个全局对象,各个线程根据这个对象的状态来协同工作,这就是基本的线程同步。 支持多线程编程的语言一般都内置了一些类型和方法用于创建上述所说的全局对象也就是锁对象,它们的作用类似,使用场景有所不同。.Net中这玩 ...

C#必备技能—项目打包

C#项目打包 开发好一个软件后,交给客户去使用,这时需要对项目进行打包成一个.exe文件,怎么去做?(共三步) 前提 安装扩展:状态栏【扩展】—【管理扩展】,搜索setup,点击安装(安装比较慢,等待半小时<服务器在他国>) 第一步: 在项目的管理器中新建一个setup项目(安装扩展后才有) 第二步 ...

外观模式

外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 介绍 意图 为一个复杂 ...

.NET辅助角色服务入门简介

博主头像 在日常开发中,并不是所有的功能都是用户可见的,还在一些背后默默支持的程序,这些程序通常以服务的形式出现,统称为辅助角色服务。今天以一个简单的小例子,简述基于.NET开发辅助角色服务的相关内容,仅供学习分享使用,如有不足之处,还请指正。 ...

C#项目—模拟考试

C#模拟考试软件 开发了一个《模拟考试》的小软件,此小软件练习的目的主要是为了体会编程思想,深度理解高内聚、低耦合,掌握编程思维逻辑的大招,告别垃圾代码,重点体会编程之美,练习时长30分钟; 开发一个项目之前,切记不要打开程序就写代码,首先要做的就是分析项目,从项目的架构开始思考,软件要实现什么功能 ...

Aspire8一文通

博主头像 Aspire8一文通 0、简介 微软Aspire是微软今年推出的一个全新的平台无关、语言无关的新框架,它的设计目的是简化云原生应用的开发、部署和管理过程。Aspire的读音是[əˈspaɪər],它的意思是渴望(成就);有志(成为),利用它你可以构建新应用程序或将云原生功能添加到现有的应用程序,或者 ...

C#项目—彩票选号

C#彩票选号软件 今天做了一个彩票选号的小软件,将学到的知识点总结如下(新手小白,多提意见); 1.写程序的思路 实体类(属性、方法) No1. 随机数组集合(属性) No2. 创建集合对象(构造方法) No3. 生成随机数组(实例方法) No4. 生成多组随机数组(实例方法) No5. 遍历随机数 ...

<1···5678>