成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

10年感觸:架構(gòu)是什么?——消滅架構(gòu)!

開發(fā) 架構(gòu)
目前除了做軟件開發(fā)平臺(tái),我們還深入到熱力、能耗監(jiān)測(cè)等能源監(jiān)控領(lǐng)域,進(jìn)入這個(gè)領(lǐng)域之后,發(fā)現(xiàn)傳統(tǒng)的幾個(gè)大廠家,做的軟件都極其的爛,那軟件簡直丑的不能再丑了,送給我我都不要。這些廠家那么有錢,他們做不出好軟件?真是不可思議。因此,我跟我的合作伙伴放出豪言,我們要做這個(gè)行業(yè)最好的軟件,要做到這個(gè)領(lǐng)域的第一。

架構(gòu)是什么?昨天下午我坐飛機(jī)從西安到太原的路上,不禁在思考這個(gè)問題。我做C#開發(fā)已經(jīng)11年了,做過很多項(xiàng)目,經(jīng)歷了很多項(xiàng)目開發(fā)過程中的折磨,在小企業(yè)兼職過不靠譜的“技術(shù)總監(jiān)”,在大公司也當(dāng)過碼工,見識(shí)過很多牛人,分析過牛人的代碼,并且也和團(tuán)隊(duì)設(shè)計(jì)了OSGi.NET框架和iOpenWorks插件倉庫平臺(tái)。回想這么多年的軟件開發(fā)經(jīng)驗(yàn),我發(fā)現(xiàn)自己一直在追逐如何使軟件開發(fā)做的更好,如何讓一個(gè)團(tuán)隊(duì)開發(fā)出一個(gè)像樣的軟件產(chǎn)品,而不是像大多數(shù)的國人生產(chǎn)的丑陋不堪、經(jīng)常出現(xiàn)各種古怪問題的企業(yè)軟件。

目前除了做軟件開發(fā)平臺(tái),我們還深入到熱力、能耗監(jiān)測(cè)等能源監(jiān)控領(lǐng)域,進(jìn)入這個(gè)領(lǐng)域之后,發(fā)現(xiàn)傳統(tǒng)的幾個(gè)大廠家,做的軟件都極其的爛,那軟件簡直丑的不能再丑了,送給我我都不要。這些廠家那么有錢,他們做不出好軟件?真是不可思議。因此,我跟我的合作伙伴放出豪言,我們要做這個(gè)行業(yè)***的軟件,要做到這個(gè)領(lǐng)域的***。

哈哈,話說出來容易!當(dāng)我在一個(gè)特定環(huán)境下,帶領(lǐng)一個(gè)新的、剛剛成立的團(tuán)隊(duì)嘗試來開發(fā)這么一個(gè)軟件的時(shí)候,我卻發(fā)現(xiàn)我們軟件的***個(gè)版本也是其丑無比。這才恍然大悟,或許那些廠家的軟件開發(fā)也是這么的方式來生產(chǎn)的。這樣生產(chǎn)出來的軟件要滿足用戶的需求,那這些開發(fā)人員得遭多少罪,才能夠在一個(gè)不靠譜的軟件修修補(bǔ)補(bǔ)使其稍稍靠譜。

因此,我開始反思,怎么能使一個(gè)新團(tuán)隊(duì)開發(fā)一個(gè)好的軟件產(chǎn)品?

答案和我的標(biāo)題是一樣的,我要依靠架構(gòu)。那么架構(gòu)是什么?

架構(gòu)是一個(gè)約定,一個(gè)規(guī)則,一個(gè)大家都懂得遵守的共識(shí)。那這是什么樣的約定、什么樣的規(guī)則、什么樣的共識(shí)呢?

我以包為例,我經(jīng)常出差,雙肩背包里裝了不少東西。筆記本電腦、電源、2個(gè)上網(wǎng)卡、鼠標(biāo)、USB線、一盒大的名片、一盒小的名片、口香糖、Mini-DisplayPort轉(zhuǎn)VGA接口、U盤、幾根筆、小螺絲刀、洗漱用品、干凈衣服、襪子、香水、老婆給我?guī)У哪樃啵ㄋ游易罱郏樣悬c(diǎn)黃)、錢包、Token卡、耳機(jī)、紙巾、USB線、U盤等。這個(gè)包有很多格子,最外面的格子我放常用的,比如筆、紙、一盒小的名片等;中間的格子一般放的是衣服、襪子、洗漱用品、香水等;靠背的那個(gè)大格子放了筆記本電腦,和筆記本電腦相近的小格子放的是兩個(gè)上網(wǎng)卡、Mini-DisplayPort轉(zhuǎn)VGA接口、大盒名片、記事本,和筆記本電腦相近的大格子放的是電源、鼠標(biāo)、口香糖等。

我閉著眼睛都可以將我的東西從包里掏出來,閉著眼睛都可以將東西塞到包里!但是,非常不幸的是,一旦我老婆整理過我的包,那我就很慘了,老是因?yàn)檎也坏綎|西而變得抓狂!更不幸的,要是我那個(gè)不到兩歲的“小可愛”翻過,就更不得了了。

這個(gè)包就是我放所有物品的“架構(gòu)”,每一個(gè)東西放置的位置就是我的“約定、規(guī)則、共識(shí)”。倘若我老婆也知道我的“架構(gòu)”、我的“約定、規(guī)則、共識(shí)”,那么不管她怎么動(dòng)我的包,我都照樣能夠輕易的拿東西或者放東西。進(jìn)一步,如果我的同事也知道我的“架構(gòu)”,知道我的“約定、規(guī)則、共識(shí)”,那么他們什么時(shí)候動(dòng)我的包,我也毫無所知!

恍然大悟!我前一個(gè)公司Sybase,所有的產(chǎn)品都是基于一個(gè)統(tǒng)一的插件開發(fā)平臺(tái),每一個(gè)產(chǎn)品都是一個(gè)插件,每一個(gè)插件都按照名字約定好了BO(Controller)、GO(View)、SO(Model/DataAccessor),定義好PropertyPage、PropertyDialog、Wizard。我記得當(dāng)我確定工作角色后,我就拿到一個(gè)開發(fā)文檔,里面描述了這些目錄、名字的規(guī)則,有UI文字陳述規(guī)則、文字的大小規(guī)則等,一周內(nèi)我就能夠修Bug,一個(gè)月之后我就能做New Feature,然而,我此時(shí)對(duì)我們的平臺(tái)、框架依然一無所知。過了1年后,產(chǎn)品依然遵守約定不斷進(jìn)行改進(jìn),在維護(hù)過程中,我們竟然絲毫沒有感覺到累。基于這樣的框架做產(chǎn)品,我發(fā)現(xiàn)不管是什么人,開發(fā)的樣式都完全一致。我以前竟然絲毫沒有覺得驚訝!

在公司混了兩年之后,有點(diǎn)成為老鳥了,還很得瑟的整了一個(gè)《Flex UI Composition SDK》,就是基于Flex的界面組合組件,搞的老漂亮了,代碼寫的好看,文檔搞的正式,而且這個(gè)小SDK功能強(qiáng)大且很靈活。老大很給面子,讓我給美國的架構(gòu)組Show一下。我很激情的在半夜里用電話會(huì)議和那幫很牛的架構(gòu)師、專家級(jí)工程師展示我的SDK。完事后,印象很深刻,一個(gè)很資深的老外架構(gòu)師提了一句,他覺得這個(gè)SDK有點(diǎn)復(fù)雜。

以前我不太理解為什么他會(huì)說復(fù)雜。原因很簡單,以他的技術(shù),使用這個(gè)SDK我覺得沒有太大的問題,只要稍稍學(xué)習(xí)就好了。后來,我終于慢慢想通了。這個(gè)SDK不好的地方在于太靈活了,靈活到無法構(gòu)建一個(gè)統(tǒng)一標(biāo)準(zhǔn)的、容易讓人遵守的“約定、規(guī)則、共識(shí)”。在沒有“共識(shí)”的支撐下,這樣的系統(tǒng)經(jīng)過若干人維護(hù)后,那絕對(duì)玩完了,成“萬人坑”了,誰改代碼就坑誰,以后什么事情都有可能發(fā)生的。

于是,我有一點(diǎn)點(diǎn)想明白了,架構(gòu)就是這么的一個(gè)共識(shí)。當(dāng)共識(shí)普遍傳遞的時(shí)候,架構(gòu)就消失了,開發(fā)好的軟件就成為了習(xí)慣。

這就是為什么有高人提出“消滅架構(gòu)”!哦,天啊,這幫人太變態(tài)了,他們這么早就想通了!

談到這,我也有必要繼續(xù)分享一下,我在新的團(tuán)隊(duì)是如何消滅架構(gòu)的。方法很簡單,和Sybase的前同事學(xué)習(xí)!

***步:使用插件架構(gòu)

image

第二步:定制統(tǒng)一的界面框架

image

這個(gè)界面框架如下所示。

image

該框架約定了統(tǒng)一的界面樣式,比如按鈕、磁貼、標(biāo)簽頁、導(dǎo)航條、進(jìn)度條、Form等等。

image

第三步:定制插件的統(tǒng)一架構(gòu)

每一個(gè)插件都創(chuàng)建5個(gè)目錄:Controllers、DataAccessors、Models、ViewModels、Views,如下所示。每一個(gè)目錄存放的代碼通過名字都知道是什么了。

image

第四步:定制開發(fā)模板(升華,該步驟不是必須的,是為了更好提高易用性,讓傻瓜也可以開發(fā)插件,僅供參考)

image

在主程序模板可以保護(hù)統(tǒng)一數(shù)據(jù)訪問、統(tǒng)一安全管理等功能模塊。

哈哈,這個(gè)方法終于能使新團(tuán)隊(duì)開發(fā)出具有較為統(tǒng)一風(fēng)格、較高質(zhì)量的軟件產(chǎn)品了!這時(shí)候,你會(huì)發(fā)現(xiàn),所有人都不需要關(guān)心架構(gòu)了,我們只有共識(shí)。

這樣,架構(gòu)被成功消滅了,架構(gòu)的目標(biāo)就是消滅架構(gòu)!但是,如果架構(gòu)被消滅了,架構(gòu)師不也被消滅了嗎?這個(gè)搞笑的問題留給讀者吧。

附:關(guān)于架構(gòu)的官方定義,建議參考《Java應(yīng)用架構(gòu)設(shè)計(jì)》,該書很經(jīng)典。本文關(guān)于“架構(gòu)就是共識(shí)、消滅架構(gòu)”說法,來自于該書。我不是“架構(gòu)就是共識(shí)、消滅架構(gòu)”說法的***。

責(zé)任編輯:張燕妮 來源: 道法自然
相關(guān)推薦

2010-08-10 13:18:34

思科NAC架構(gòu)

2012-12-13 09:47:15

軟件架構(gòu)師架構(gòu)師

2018-02-24 14:09:01

2011-04-27 09:30:48

企業(yè)架構(gòu)

2024-10-23 08:46:16

云上大數(shù)據(jù)架構(gòu)

2019-09-12 14:44:53

云計(jì)算云架構(gòu)數(shù)據(jù)

2024-08-20 08:29:55

2015-08-03 15:48:42

Hadoop大數(shù)據(jù)

2013-04-19 01:42:02

2025-04-08 08:10:00

2025-01-20 07:00:00

2023-07-04 07:53:53

MVCDDD架構(gòu)

2012-12-13 09:40:04

架構(gòu)師

2024-11-25 07:00:00

RedisMySQL數(shù)據(jù)庫

2024-12-16 08:20:00

2025-06-20 08:03:36

Hadoopmysql數(shù)據(jù)庫

2019-07-12 15:21:21

加密貨幣銀行貨幣

2023-10-26 11:23:42

2009-04-17 09:50:49

軟件架構(gòu)云計(jì)算SOA

2020-10-09 08:26:16

架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产视频久久久久 | 麻豆一区一区三区四区 | 欧美一区二区三区四区视频 | 日韩av电影院 | 国产日韩久久 | 成人在线一区二区 | 亚洲女人天堂网 | 色综合久久久 | 天天综合网永久 | 亚洲色欧美另类 | 国产在线a| 精品综合久久 | 99热精品在线 | 男人的天堂一级片 | 国产高清精品一区二区三区 | 国产精品国产精品国产专区不片 | 欧洲一区二区三区 | 欧美黄色大片在线观看 | 日韩中文视频 | 久久www免费视频 | 亚洲视频区 | 亚洲自拍一区在线观看 | 中文字幕在线观看一区 | 精品久久久999 | 视频三区 | 在线视频一区二区三区 | 国产日韩欧美在线 | 精品国产伦一区二区三区观看说明 | 97超碰成人 | 免费看国产片在线观看 | 国产一区二区三区精品久久久 | 欧美视频在线看 | 午夜电影日韩 | 久久精品成人 | 羞羞羞视频 | 欧美另类视频在线 | 美女二区 | 孕妇一级毛片 | 午夜寂寞福利视频 | 欧美日韩中文在线 | 色桃网 |