2020年的年終總結像往年同樣如期而至,今年是個特殊的年份,疫情爆發,全國人民衆志成城,支援武漢,把武漢疫情完美控制,接下來經歷了一個全年的抗疫生活,見證了一個個門店的倒下、站起,一個個公司申請破產、又一個個公司申請登記註冊。這一個年,見證了太多的悲傷、淒涼也感覺到了太多的感動於歡樂,2020年註定在歷史上留下濃墨重彩的一個紀年git
2020年對於我,一個勤奮耕耘的小碼農,也是意味深重的一年,由於經歷的一些事,讀了一些書,對個人認知發生了更改。
寫下總結的時候,也給本身留個寄語程序員
"但願十年後,我依然可以堅持在寫博的這條路上github
言歸正傳,總結一下今年在技術上學習的內容以及我的的心得數據庫
背景後端
做爲一個.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開發中提出的這麼強烈前後端分離
過程微服務
一、設計規範
談到數字可視化的概念,不得不提的就是設計規範,TOB雖然一直而言,對審美的要求不是過高,可是隨着同類型產品的日益美化,在競爭的驅使下,美,成爲了軟件不可或缺的一環節
在市面上面對琳琅滿目的設計規範,在這裏推薦一款我應用的很是好用的設計規範
MaterialDesign,該設計規範提供的樣式大氣磅礴,實用性很強
GitHub開源連接
轉場效果
細節動畫
二、MVVM框架選擇
市面上有多種的開源的MVVM框架,可是每一個框架都有各自的特點,列出以下,本人在深刻了解比較後使用MVVM Light Toolkit 和Microsoft Prism兩種,MVVMLight 是輕量級應用,應對小型應用開發足以,Prism框架前身是Composite Application Guidance for WPF and Silverlight,網上大量資料說複雜,其實理解進去,很簡單,這裏有一篇關於Prism的介紹,看完基本能夠入門了。
MVVM框架羅列以下:
有了設計規範、MVVM框架,WPF的開發在屬性Xaml語言的基礎上,就能夠揚帆起航了。
背景
應用於工業領域的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.
具有入門知識之後,.NET CORE 開發不得不提的一個框架ABP,ABP是ASP .NET Boilerplate的簡稱,ABP是一個開源且文檔友好的應用程序框架。ABP不只僅是一個框架,它還提供了一個最徍實踐的基於領域驅動設計(DDD)的體系結構模型。
負載均衡、Dock、K8s涉及部署技術
微服務、Grpc、MQ編碼實現技術,ABP提供了框架,爲這些應用開發大大縮減了時間
經過以下的ABP基礎知識,能夠帶你快速ABP入門
在這邊文章發表以前,技術介歷來沒有使用過 MaterialDesign + Prsim + ABP 三大框架結合的開發工做,做爲嘗螃蟹第一人,很開心將今年的技術融合在這裏與你們分享,但願個人嘗試,可以幫助到你們!