.NET進階篇-醜話先說,Flag先立

知識只有通過整理才能造成技能  多線程

1、煩惱絲

一、技術池太淺

做爲開發者,工做了幾年,也總以爲技術棧和剛畢業區別不大,用的技術還都是N年前的,往往看到新東西,也只內心哇塞驚歎一下,而後就回歸於忙碌。怪本身的技術池太淺,熱門的使人稱奇的技術也都是在其餘巨人的肩膀上產生,但自卑還沒夠到巨人肩膀,便以爲新技術(相對於本身的技術程度)離咱們好遠,對它也無能爲力,不瞭解可否解決當前的痛點?應用成本高嗎?就像登山1W個臺階,站在9K臺階處的人就會以爲容易些,站在1k臺階處的就感受遙不可及。邁出第一步,跟上前面爬山的人。架構

  常常會看見公司框架裏那些前人寫的代碼,仍是.NET早些版本1.0,2.0時代的,雖然語法還比較low,但設計卻讓人驚奇,身邊也少見架構師能夠求問學習。咱是從事GIS行業開發,可能着重在於GIS功能的開發,其實有點本末倒置。GIS只是開發中的一個插件,咱們的根本應該仍是要先把.NET玩溜,不少像性能瓶頸、版本兼容跨平臺等問題也就迎刃而解。框架

二、乾貨太少

  有時候看不懂的設計代碼就去查,當下明白了,某天又忘記了,也不會使用。網上資源太多隻能用來解決某個特定問題,如某個bug,某個安裝,這是你快速解決遇到的某個問題的好途徑。系統的提高仍是須要有個全局系統的知識脈絡,像書籍,課程。在系統性的學習以後,會對.NET有個相對全面認識,工做中遇到的一些棘手問題,也都有對應成熟解決方案,根本不會說解決不了,只能曲線求國。很簡單的功能設計由於認知不足,浪費大量的人力,設計出龐大難以維護的系統,這是開發者最不能期許的。還有目前.NET很熱很成熟的框架都用到高級語法(僅區別於基本語法),反射啊,委託啊、異步多線程啊,還有不少使人拍案叫絕的設計思想。不整明白之後更加忐忑,對新技術淺嘗輒止也不會剖析更不敢應用到實際項目中,永遠只是個旁觀者,只在山腳下叫苦異步

想起大學時遊手好閒沒正經上過幾回課,畢業前開始有點恍惚,逼着本身系統學習了下C#基礎,雖然輕鬆畢業就業,就業後作過.NET的CS/BS開發,作過Java的BS開發,但都是瞭解了基本語法就提槍上陣了,靠運氣躲過技術難題。那時沒想到要整理,好多書籍課程資料也因搬家都丟棄了。有些時候忘記的知識點還要去網上查找,一下找着正確的還好,找不到又還看到博客論壇還在轉發一個錯誤的示範(我知道有可能只是環境不一樣沒能像文中描述那麼順暢),內心就開始mmp了。性能

因此寫技術文章,必定要通過驗證,交代本身的驗證環境。學習

三、記性太差

此次準備把本身整理時候的知識點記錄下,按俗套姑且取名.NET進階篇,以便本身之後查閱,好多東西你必定作過,但你就是暫時想不起來了。爛筆頭記一下,想不起來也好找。本身動手記錄,會不自覺看不少遍,修改不少遍,思路也會更加清晰。做爲職業Coder,說實話寫文章方面文筆就糙了點,大多時候寫字爲所欲爲,與其咬文嚼字,不如多關注些本身知識的盲區。但會盡可能要求代碼比文字嚴格精煉,一行代碼勝千言就更好。編碼

2、章節分佈

一、大綱

我會在整理了一些知識點的時候發出來,連着白瞟好幾集的感受應該很爽。整個進階篇的章節分佈以下(後面估計會調整,大章節分佈不會變,可能歸入些新的東西)。插件

我用了一個新的輕薄本(原本買來專做開源GIS的,都快落灰了,若是能堅持把這一系列寫完,它也算立大功了),宇宙最強IDE-VisualStudio 2019(在線安裝比較慢,離線包有20G左右,後面會上傳),在週末假期作拆解,合併,驗證,整理工做(原諒咱工做日很難跳出工做狀態,下班有空也可能是關注工做中遇到的問題)。一個知識點的相關書籍課程拆出來,爲了保證質量,可能須要挺長時間。但願作到一個知識點看這一篇就夠了的地步。直接複製安裝可用的框架代碼咱還沒能力整理出,此篇更多的是指導思想、原理解析,以點帶面,固然會用些經典小例子,因此別太期望能直接複製粘貼到本身系統中F5就能運行成功。定位是高度總結歸納,面向抽象,好比像正則可能就不會介紹,咱也記不住。到了應用的細節地方可能還須要去查閱詳盡的資料,但知道怎麼用,怎麼查,出問題也不慌張,面對新奇熱門的框架也不怵,這是咱指望的。線程

二、簡介

語言章會讓你認識C#一些高級的語言特性原理,做爲後面的鋪墊,設計框架離不開這些東西。設計章總結經常使用的設計套路,不敢說融會貫通下筆若有神,起碼會讓你編碼過程當中能嗅出設計的壞味道,而後着手重構,重構的過程,會慢慢發現本身的設計居然和成熟框架設計思想愈來愈像、一模一樣。框架章會了解經常使用框架的原理應用,工做中能夠快速選型和應用,也對目前開源.NET環境深刻認識。設計

固然,作的越多錯的越多,沒有信心說沒有錯誤,更歡迎讀者能指出來。一塊兒進步,少走彎路,促進行業發展,社會進步。沒錯,個人夢想是推動世界進步。咱們能遇到的每一個問題都在某個地方被某人解決過,交流是一種快速且有效的處理問題方式。讀書旅行交友都是在交換着咱們對世界的認知,瞭解的越多,被你掌控的事物就越多。咱們隨時都有Plan B,還怕啥。

2、後話

其實語言層面不少.NET開發者不肯認可,Java熱度確實總比C#高,之前也以爲.NET挺low的,給人老是後知後覺的感受,畢竟商業運做嘛,要通過不少過程抉擇的。一方面可能與我從事的行業相對互聯網比較閉塞有關,實際用到的.NET技能也不是不少,也沒有大而全的認識。另外一方面也與我慵懶佛系的性格有關吧,不爭第一,凡事只作第二就好。千年老二其實挺好的,恰到好處,有餘力有餘地。

因此也沒想過切換本身的主語言,若是須要Java開發者,一個優秀的.NET開發者確定也能冒名頂上。語言真的是一通百通,設計思想更是放之四海而皆準,只是本身主語言開發起來會更順手罷了,就像常常開本身家的車會比較順手同樣。通常開發者都會不止一種語言。沒有最好的語言,適合本身的就是最好的。你第一次學習接觸的語言理應當作你的母語,若是你問我什麼是世界上最好的語言?那我不知道,我只知道C#也會是之一。

若是手機在手邊,也能夠關注下vx:xishaobb,互動或獲取更多消息。固然這裏也一直更新de。

相關文章
相關標籤/搜索