日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

基于.Net進(jìn)行前端開(kāi)發(fā)的技術(shù)棧發(fā)展路線(一)

 印度阿三17 2019-01-29

今天想講講的是我的技術(shù)樹。我最初是做CS開(kāi)發(fā)的,第一階段的技術(shù)經(jīng)歷是以Powerbuilder來(lái)做CS開(kāi)發(fā),第二階段開(kāi)始基于C#做winform開(kāi)發(fā),眼看前端開(kāi)發(fā)越來(lái)越流行,需要更廣泛的技術(shù)棧勢(shì)在必行。因此以.Net為基礎(chǔ),我開(kāi)始拓展自己的技術(shù)棧。從14年到18年,跨越了很多界限,到現(xiàn)在為止,應(yīng)該說(shuō).Net,Java,Android,基于nodejs的web開(kāi)發(fā)都積累了一些經(jīng)驗(yàn),可以給大家分享一下。

 

01

我的技能樹

 

我對(duì)技能的培養(yǎng),是很有目的性的。我在開(kāi)啟我的第二階段技能增長(zhǎng)的時(shí)候,就預(yù)先對(duì)自己未來(lái)的技術(shù)樹發(fā)展進(jìn)行了選擇。因此當(dāng)時(shí)就畫了思維導(dǎo)圖并逐漸補(bǔ)充和調(diào)整?,F(xiàn)在我就將我的“技能樹”思維導(dǎo)圖跟大家分享。

 

其中,標(biāo)注為黃色旗幟的是基本掌握,標(biāo)注為紅色旗幟的為使用熟練。未標(biāo)注的只是了解。

 

首先提一下我的技能樹的底色。從我進(jìn)入IT行業(yè)開(kāi)始,一直從事的是企業(yè)信息化系統(tǒng)的開(kāi)發(fā),所以在技術(shù)樹里,還看不到算法、集群、微服務(wù)這類技能,這還不在我的技能需求列表內(nèi)。我的技能覆蓋范圍是:如何做好一個(gè)企業(yè)信息化系統(tǒng)。但我未來(lái)對(duì)這些還是很有興趣并會(huì)進(jìn)行研究。

 

史前技能:

作為IT行業(yè)的老爺爺,我還有前一段的技術(shù)經(jīng)歷,是使用PowerBuilder Sybase數(shù)據(jù)庫(kù)進(jìn)行CS應(yīng)用開(kāi)發(fā)。我剛進(jìn)入IT行業(yè)的時(shí)候,PowerBuilder還是非?;鸬?,那時(shí)候有兩火,PowerBuilder和Delphi。那時(shí)候也剛好是互聯(lián)網(wǎng)時(shí)代剛開(kāi)啟的時(shí)候,所以幾年之后,技能便逐漸過(guò)時(shí),我從程序員到部門經(jīng)理,感覺(jué)技能無(wú)法進(jìn)步,最后我轉(zhuǎn)行做了產(chǎn)品經(jīng)理。

 

在幾年前,經(jīng)過(guò)n年的折騰產(chǎn)品,我發(fā)現(xiàn)搞技術(shù)也挺適合我的,我又回頭拿起了技術(shù)。一手產(chǎn)品,一手技術(shù),都是我喜歡的事情,因此我想如何能盡快的精進(jìn)技術(shù),我的技能樹思維導(dǎo)圖就是那時(shí)候誕生的。

 

首先開(kāi)刀的就是C#。為什么要選擇C#這個(gè)看起來(lái)似乎有點(diǎn)“沒(méi)落”的技術(shù)呢?這里我得感嘆,公司對(duì)個(gè)人的發(fā)展影響重大,一個(gè)人的一生,隱約的都在循著某條路線前進(jìn),最終形成了你獨(dú)特的個(gè)人人生。你就職的公司是你人生軌跡的重要部分。我在之前的公司擔(dān)任產(chǎn)品職位,因?yàn)樽龅氖呛蚏FID硬件相關(guān)的行業(yè),因此選擇了C#。在產(chǎn)品研發(fā)過(guò)程中,逐漸了解C#。之后我進(jìn)入了一家外貿(mào)電商企業(yè),負(fù)責(zé)企業(yè)ERP的研發(fā),因?yàn)閷?duì)操作便捷性的極致追求,仍然采用了C#基于Winform進(jìn)行開(kāi)發(fā),這也使得我更深入的介入到研發(fā)中去。在這期間,為了攻克技術(shù)難題,優(yōu)化系統(tǒng)架構(gòu),提高部門開(kāi)發(fā)效率,我花了大半年的業(yè)余時(shí)間,把《C#高級(jí)編程》啃下來(lái)了,至今仍反復(fù)閱讀,從此也真正的重新進(jìn)入了程序員的行列。

 

但從0開(kāi)始何其之難,因?yàn)榛A(chǔ)太低。為了盡快的達(dá)成目標(biāo),我采用了“跳遠(yuǎn)”式的學(xué)習(xí)模式,這種模式現(xiàn)在仍然采用,那就是學(xué)習(xí)的新技術(shù)要和上一個(gè)技術(shù)要有相當(dāng)程度的升級(jí),盡量避免同級(jí)別技術(shù)都去學(xué)習(xí),且要不斷的學(xué)習(xí)技術(shù)和拋棄技術(shù)。技術(shù)要跳躍式升級(jí)是因?yàn)閷W(xué)習(xí)時(shí)間有限,而為什么要學(xué)習(xí)技術(shù)又要拋棄?這是多余么?我認(rèn)為并不多余,我非常認(rèn)同一句話:“人生中你所走的每一步,都是構(gòu)成你人生的基石”,技術(shù)大廈的基石,一定是要牢固的,沒(méi)有扎實(shí)的技術(shù)基礎(chǔ),就去學(xué)新技術(shù),必然走火入魔(產(chǎn)生大量的認(rèn)知錯(cuò)誤)。這也是為什么我看《C#高級(jí)編程》的版本是第四版,而不是第六版,因?yàn)榈谒陌婊?Net2.0,那是一個(gè)技術(shù)基石,我未來(lái)可以不用,但不能不學(xué)。

 

因?yàn)楣镜漠a(chǎn)品是基于C#和WinForm,因此我首先學(xué)精的就是它們了。

 

02

C#相關(guān)技術(shù)

C#:必須

C#本身就不用說(shuō)了,需要深度學(xué)習(xí)。

Linq:必須

Linq是個(gè)好東西,我覺(jué)得如果C#沒(méi)有Linq,那可能就索然無(wú)味了。使用Linq可以大大的精簡(jiǎn)代碼。而Linq的技術(shù)鏈其實(shí)很長(zhǎng),它是從委托、匿名委托、lamda表達(dá)式、表達(dá)式樹,最后才有Linq。

DI/IOC/AOP:值得了解

我覺(jué)得深入理解這些概念,對(duì)程序員來(lái)說(shuō)很重要。這可以讓我們把架構(gòu)做的非常優(yōu)化,也有利于我們更好的理解asp.net mvc。

其中微軟企業(yè)庫(kù)EntLib我是詳細(xì)了解過(guò)的,受益匪淺,但實(shí)際工作中沒(méi)有用到,因?yàn)榧夹g(shù)已經(jīng)過(guò)時(shí)了。而對(duì)于MEF和Spring.Net有興趣,但沒(méi)時(shí)間去了解。

Membership:值得研究

對(duì)于網(wǎng)站的權(quán)限控制,不管是webform還是mvc,微軟都提供了自己的解決方案,但在實(shí)際使用中,企業(yè)的需求各異,一般大家都是自己實(shí)現(xiàn),不會(huì)用Membership。但了解它,從而了解微軟的網(wǎng)站權(quán)限設(shè)計(jì)原理,從而定制自己的權(quán)限控制架構(gòu),是很有幫助的。

正則表達(dá)式:值得研究

我覺(jué)得這東西非常有用,但表達(dá)式太難記,又用的少。所以到現(xiàn)在為止,還只停留在碰到問(wèn)題就百度的業(yè)余水平。

EmitMapper:必用

在.Net2.0時(shí)代,大家大量用DataTable,但它五年前甚至更早就應(yīng)該被拋棄了,List對(duì)象使用起來(lái)非常方便,而映射工具使得將前端的數(shù)據(jù)映射到后端變得非常方便,使用強(qiáng)類型編程變得非常有優(yōu)勢(shì),DataTable應(yīng)該走入歷史了。除了EmitMapper,也有人用其他的比如AutoMapper等,都可以。

Log4Net:必用

對(duì)于一個(gè)完整的應(yīng)用系統(tǒng),怎么能沒(méi)有日志記錄系統(tǒng)?Log4Net已經(jīng)非常強(qiáng)大,沒(méi)有必要自己去寫一個(gè)。

Asp.Net WebForm:未來(lái)會(huì)繼續(xù)研究

我算是大致研究過(guò)WebForm,雖然沒(méi)有用于實(shí)用,但我始終保持一種想把它實(shí)用,并進(jìn)一步深入了解它的興趣。肯定有人會(huì)覺(jué)得,WebForm已經(jīng)過(guò)時(shí)了,為什么還要研究它?因?yàn)橐蚝眉夹g(shù)大廈的基礎(chǔ),WebForm可以說(shuō)是一個(gè)非常經(jīng)典的設(shè)計(jì),雖然已經(jīng)過(guò)時(shí),但拿來(lái)把玩也是很好的。

Asp.Net Mvc:正在使用

當(dāng)前我的產(chǎn)品里,在后端使用的就是Mvc。但我所使用的Mvc遠(yuǎn)遠(yuǎn)不是asp.net mvc。因?yàn)閷?shí)際上只用了其中很少的一部分,而完全拋棄了Razor。因?yàn)镽azor也過(guò)時(shí)了,現(xiàn)在流行的是前端開(kāi)發(fā),后端只要簡(jiǎn)簡(jiǎn)單單,就好。

.Net Core:未來(lái)應(yīng)該會(huì)使用

當(dāng)前產(chǎn)品還不需要跨平臺(tái),但我感覺(jué)未來(lái)可能會(huì)需要跨平臺(tái)。

CodeSmith:在用

為什么會(huì)使用CodeSmith?這是歷史遺留問(wèn)題,因?yàn)楫?dāng)初公司使用的架構(gòu),是博客園上的一篇文章推薦的基于Repository的經(jīng)典架構(gòu),那個(gè)架構(gòu)下需要生成大量的類,Model,ViewModel,Access,Service等,所以需要代碼生成工具,就用上了CodeSmith。

但隨著我后來(lái)徹底拋棄了Repository架構(gòu),架構(gòu)越來(lái)越簡(jiǎn)單,CodeSmith也用的越來(lái)越少,現(xiàn)在只用于生成ViewModel類。其實(shí)就生成VM這種簡(jiǎn)單的POCO類,用C#直接寫一個(gè)就行了,但用習(xí)慣了CodeSmith不用白不用吧。

 

不知不覺(jué)已經(jīng)寫了5頁(yè)了,今天就到此為止,下一次繼續(xù)寫完我的技能樹。

 

覺(jué)得文章有意義的話,請(qǐng)動(dòng)動(dòng)手指,分享給朋友一起來(lái)共同學(xué)習(xí)進(jìn)步。

歡迎關(guān)注本人微信公眾號(hào),更及時(shí)的關(guān)注最新文章(每周三篇原創(chuàng)文章,以及多篇專題文章):

來(lái)源:http://www./content-4-105601.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多