在談怎樣成為架構(gòu)師之前膳汪,我想先說點(diǎn)別的唯蝶,大部分程序員肯定都聽過架構(gòu)師這個(gè)職位遗嗽,只知道架構(gòu)師很牛粘我,也許在你們公司也有架構(gòu)師的存在,但是表面上架構(gòu)師好像不用做什么事痹换,針對(duì)這個(gè)問題我們首先來看看架構(gòu)設(shè)計(jì)的重要性征字,請(qǐng)看以下幾點(diǎn):
1、軟件架構(gòu)能夠滿足系統(tǒng)的品質(zhì)
2娇豫、架構(gòu)設(shè)計(jì)使受益人達(dá)成一致的目標(biāo)
3匙姜、架構(gòu)設(shè)計(jì)能夠支持計(jì)劃編制過程
4、架構(gòu)設(shè)計(jì)對(duì)系統(tǒng)開發(fā)的指導(dǎo)性
5冯痢、架構(gòu)設(shè)計(jì)能夠有效地管理復(fù)雜性
6氮昧、架構(gòu)設(shè)計(jì)為復(fù)用奠定了基礎(chǔ)
7或详、架構(gòu)設(shè)計(jì)能夠降低維護(hù)費(fèi)用
8、架構(gòu)設(shè)計(jì)能夠支持沖突分析
意識(shí)到了架構(gòu)的重要性了郭计,還得知道如何去設(shè)計(jì)架構(gòu)霸琴,那么什么是好的軟件架構(gòu),什么又是糟糕的軟件架構(gòu)呢昭伸?
看圖
上面的圖即是一個(gè)樂高玩具梧乘,它即可以以一個(gè)完整的模型賣給你,你也可以把它全部打碎了重新從一個(gè)模型自由的再去組裝成另一個(gè)模型庐杨,因?yàn)槊恳粋€(gè)樂高的模塊在橫向选调、堅(jiān)向里都有標(biāo)準(zhǔn)的接口,這就是我們常說的高內(nèi)聚灵份、低耦合仁堪。
下面的圖一個(gè)是清代的八股文,一個(gè)是孔乙己填渠。還記得回字的四種寫法嗎弦聂?那么你專門就研究回字的四種寫法 ,但你有沒有想過我把回字折開來又可以變成幾個(gè)字氛什?是否好折莺葫?
繼續(xù)往下看
左邊的圖是美國的“阿利伯克級(jí)”宙斯盾驅(qū)逐艦,右邊的是印度模仿美國的宙斯盾自己設(shè)計(jì)和建造的”德里級(jí)”的“咖喱盾”驅(qū)逐艦枪眉。
一個(gè)是模塊化的設(shè)計(jì)捺檬,整體線條流暢,戰(zhàn)損時(shí)模塊可以任意替換贸铜。
一個(gè)卻是拼拼湊湊堡纬,線路外露,甲板上布滿了各種電子設(shè)備和天線蒿秦,一旦戰(zhàn)損烤镐,極難維護(hù)
架構(gòu)師的工作并不是簡簡單單設(shè)計(jì)一個(gè)能工作的架構(gòu)就可以了的,他需要考慮的因素有很多渤早,他需要懂得寫程序职车,才知道怎么設(shè)計(jì)的架構(gòu)最簡單高效,而程序員到了一定階段之后就和搬磚差不多意思了鹊杖,代碼都熟悉了,在他們眼里寫程序就和打字沒有區(qū)別扛芽。說了這么多骂蓖,下面我們來說點(diǎn)架構(gòu)師的事,它的職責(zé)是什么川尖?
如上圖登下,架構(gòu)師的第一職責(zé)就是關(guān)注:non-functional requirements,即非功能性需求(小伙伴不懂非功能性需求的話可以百度上查查)
下面才是重點(diǎn),那么怎么樣才能成為架構(gòu)師呢被芳?
關(guān)于技術(shù)方面的我就不講了缰贝,在前面也發(fā)了很多架構(gòu)師需要學(xué)習(xí)的技術(shù),想了解的小伙伴可以看看我以前發(fā)的文章畔濒,今天談幾點(diǎn)一個(gè)好的架構(gòu)師應(yīng)該懂的一些東西
1剩晴、學(xué)習(xí)之道
2、需要掌握的基本功中的基本功侵状,下面的列表有先后順序哦
3赞弥、Bad artist copy good artist steal
4、放正你的心態(tài)
5趣兄、不斷的需要自我激勵(lì)
如果有小伙伴們想要學(xué)習(xí)或者一起交流大數(shù)據(jù)架構(gòu)師的技術(shù)绽左,可以加下圖片下方的交流群,群里有很多學(xué)習(xí)視頻都可以下載艇潭,而且每天都會(huì)有老師在群里分享大數(shù)據(jù)架構(gòu)師的技術(shù)拼窥。