乐趣区

关于程序员:2020年总结互联网思维下的工业软件开发

2020 年的年终总结像今年一样如期而至,往年是个非凡的年份,疫情暴发,全国人民万众一心,声援武汉,把武汉疫情完满管制,接下来经验了一个整年的抗疫生存,见证了一个个门店的倒下、站起,一个个公司申请破产、又一个个公司申请登记注册。这一个年,见证了太多的悲伤、苍凉也感触到了太多的打动于欢畅,2020 年注定在历史上留下浓墨重彩的一个纪年

2020 年对于我,一个怠惰耕耘的小码农,也是象征深重的一年,因为经验的一些事,读了一些书,对我的认知产生了更改。
写下总结的时候,也给本人留个寄语

“ 心愿十年后,我仍然可能保持在写博的这条路上

言归正传,总结一下往年在技术上学习的内容以及集体的心得

  • 从 Framework Winfrom 转型 .NET CORE5.0 WPF
  • GUI 胖客户端瓶颈问题解决
  • 技术冲破

从 Framework Winfrom 转型 .NET CORE5.0 WPF

背景

作为一个.NET 起家的桌面利用程序员,长年的 Winfrom 开发,编码的日常就是,控件拖拽、CRUD 等相干工作。Winform 始终是 Microsoft 的大本营,在网页端是被 Java 甩下十几条街了,然而随着 .Net Core 的公布,GitHub 上的 .NET CORE 的开源,使得 .NET CORE 愈发强劲。在 .NET CORE5.0 公布中,减少了 3.x 之前始终没有的 Winfrom 平台、WPF 平台,追寻 Microsoft 的脚步,早早在 2019Preview 内测的时候,转战到 .NET CORE5.0。

起因

从 Winfrom 转 WPF 的起因还是因为数字可视化概念的晋升,传统的 Winfrom 尽管在功能性上无比优越,然而随着用户对视觉效果要求的日益加强,WPF 平台下的开发成为了必然渠道。

WPF 开发依照 MVVM 框架,将 UI 和业务逻辑离开,当然在 Winfrom 中同样适配,然而这个概念没有像 WPF 开发中提出的这么强烈

过程

1、设计规范

谈到数字可视化的概念,不得不提的就是设计规范,TOB 尽管始终而言,对审美的要求不是太高,然而随着同类型产品的日益丑化,在竞争的驱使下,,成为了软件不可或缺的一环节

在市面上面对目不暇接的设计规范,在这里举荐一款我利用的十分好用的设计规范
MaterialDesign, 该设计规范提供的款式大气磅礴,实用性很强

GitHub 开源链接

转场成果

<center>

</center>

细节动画

<center>

</center>

2、MVVM 框架抉择

市面上有多种的开源的 MVVM 框架,然而每个框架都有各自的特色,列出如下,自己在深刻理解比拟后应用 MVVM Light ToolkitMicrosoft Prism 两种,MVVMLight 是轻量级利用,应答小型利用开发足以,Prism 框架前身是 Composite Application Guidance for WPF and Silverlight,网上大量材料说简单,其实了解进去,很简略,这里有一篇对于 Prism 的介绍,看完根本能够入门了。

MVVM 框架列举如下:

  • MVVM Light Toolkit
  • Microsoft Prism
  • Calcium SDK
  • Caliburn
  • Caliburn
  • Silverlight.FX
  • nRoute:

有了设计规范、MVVM 框架,WPF 的开发在属性 Xaml 语言的根底上,就能够扬帆起航了。

GUI 胖客户端瓶颈问题解决

背景

利用于工业畛域的 GUI,从 Winfrom 转到 WPF,在视觉效果上获得了很大胜利,然而仅仅视觉效果的晋升,那是远远不够的。相熟工业畛域的小伙伴们都晓得,OPC 是工业畛域利用在宽泛不过的自动化管制协定,OPCServer 点的订阅数量有瓶颈,客户端订阅数量的减少会影响到 OPCServer 的性能,过多的订阅会导致 OPCServer 宕机。同时,胖客户 GUI 利用于工业畛域,对数据的刷新要去很高,意味着数据库轮询的频次较高(数据库被动推送的问题,咱们能够放在其余中央探讨

解决方案

传统的 CS 很少有像 BS 那样前后端拆散明明白白的,传统 CS 中 Client 与 Server 局部拆散,或者少拆散的问题在这里就凸显尖锐化。

为解决这种状况,Server 端拆散,采纳多个客户端拜访一个 Server, 这个 Server 作为 OPCServer 的代理服务器,升高 OPCServer 点的订阅数成为了解决方案的外围。

做 Server,常见的 Webserver、WCF 是能够抉择的,然而当下大 Web 的趋势,使得咱们依照 Restful API 的形式建设接口,更为值得举荐

应用 .NET CORE5.0 创立 Web API 成了不二路径。而应用 .Net Core 做 Server,数据的压力能够通过互联网罕用的负载平衡、微服务、Grpc 通信、MQ、Dock、K8s 等相干技术的引入,.NetCore 完满反对这些利用形式。

技术介绍

应用 .Net Core 创立 Web API 和罕用的 CS 创立工程还是有蛮多区别, 通过下述两个文档阐明根本能够入门 .NET CORE.

  • ASP .NET CORE 创立我的项目流程及初始模板中个文件介绍
  • ASP .NET CORE 启动机制和运行机制介绍

若没有.net 根底能够移步此处疾速理解上手

具备入门常识当前,.NET CORE 开发不得不提的一个框架 ABP,ABP 是 ASP .NET Boilerplate 的简称,ABP 是一个开源且文档敌对的应用程序框架。ABP 不仅仅是一个框架,它还提供了一个最徍实际的基于畛域驱动设计 (DDD) 的体系结构模型。

负载平衡、Dock、K8s 波及部署技术
微服务、Grpc、MQ 编码实现技术,ABP 提供了框架,为这些利用开发大大缩减了工夫

通过如下的 ABP 基础知识,能够带你疾速 ABP 入门

ABP 基础知识构造

技术冲破

在这边文章发表之前,技术介素来没有应用过 MaterialDesign + Prsim + ABP 三大框架联合的开发工作,作为尝螃蟹第一人,很开心将往年的技术交融在这里与大家分享,心愿我的尝试,可能帮忙到大家!

退出移动版