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 三大框架联合的开发工作,作为尝螃蟹第一人,很开心将往年的技术交融在这里与大家分享,心愿我的尝试,可能帮忙到大家!