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

10年感觸:架構是什么?——消滅架構!

開發 架構
目前除了做軟件開發平臺,我們還深入到熱力、能耗監測等能源監控領域,進入這個領域之后,發現傳統的幾個大廠家,做的軟件都極其的爛,那軟件簡直丑的不能再丑了,送給我我都不要。這些廠家那么有錢,他們做不出好軟件?真是不可思議。因此,我跟我的合作伙伴放出豪言,我們要做這個行業最好的軟件,要做到這個領域的第一。

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

目前除了做軟件開發平臺,我們還深入到熱力、能耗監測等能源監控領域,進入這個領域之后,發現傳統的幾個大廠家,做的軟件都極其的爛,那軟件簡直丑的不能再丑了,送給我我都不要。這些廠家那么有錢,他們做不出好軟件?真是不可思議。因此,我跟我的合作伙伴放出豪言,我們要做這個行業***的軟件,要做到這個領域的***。

哈哈,話說出來容易!當我在一個特定環境下,帶領一個新的、剛剛成立的團隊嘗試來開發這么一個軟件的時候,我卻發現我們軟件的***個版本也是其丑無比。這才恍然大悟,或許那些廠家的軟件開發也是這么的方式來生產的。這樣生產出來的軟件要滿足用戶的需求,那這些開發人員得遭多少罪,才能夠在一個不靠譜的軟件修修補補使其稍稍靠譜。

因此,我開始反思,怎么能使一個新團隊開發一個好的軟件產品?

答案和我的標題是一樣的,我要依靠架構。那么架構是什么?

架構是一個約定,一個規則,一個大家都懂得遵守的共識。那這是什么樣的約定、什么樣的規則、什么樣的共識呢?

我以包為例,我經常出差,雙肩背包里裝了不少東西。筆記本電腦、電源、2個上網卡、鼠標、USB線、一盒大的名片、一盒小的名片、口香糖、Mini-DisplayPort轉VGA接口、U盤、幾根筆、小螺絲刀、洗漱用品、干凈衣服、襪子、香水、老婆給我帶的抹臉膏(她嫌我最近累,臉有點黃)、錢包、Token卡、耳機、紙巾、USB線、U盤等。這個包有很多格子,最外面的格子我放常用的,比如筆、紙、一盒小的名片等;中間的格子一般放的是衣服、襪子、洗漱用品、香水等;靠背的那個大格子放了筆記本電腦,和筆記本電腦相近的小格子放的是兩個上網卡、Mini-DisplayPort轉VGA接口、大盒名片、記事本,和筆記本電腦相近的大格子放的是電源、鼠標、口香糖等。

我閉著眼睛都可以將我的東西從包里掏出來,閉著眼睛都可以將東西塞到包里!但是,非常不幸的是,一旦我老婆整理過我的包,那我就很慘了,老是因為找不到東西而變得抓狂!更不幸的,要是我那個不到兩歲的“小可愛”翻過,就更不得了了。

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

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

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

以前我不太理解為什么他會說復雜。原因很簡單,以他的技術,使用這個SDK我覺得沒有太大的問題,只要稍稍學習就好了。后來,我終于慢慢想通了。這個SDK不好的地方在于太靈活了,靈活到無法構建一個統一標準的、容易讓人遵守的“約定、規則、共識”。在沒有“共識”的支撐下,這樣的系統經過若干人維護后,那絕對玩完了,成“萬人坑”了,誰改代碼就坑誰,以后什么事情都有可能發生的。

于是,我有一點點想明白了,架構就是這么的一個共識。當共識普遍傳遞的時候,架構就消失了,開發好的軟件就成為了習慣。

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

談到這,我也有必要繼續分享一下,我在新的團隊是如何消滅架構的。方法很簡單,和Sybase的前同事學習!

***步:使用插件架構

image

第二步:定制統一的界面框架

image

這個界面框架如下所示。

image

該框架約定了統一的界面樣式,比如按鈕、磁貼、標簽頁、導航條、進度條、Form等等。

image

第三步:定制插件的統一架構

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

image

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

image

在主程序模板可以保護統一數據訪問、統一安全管理等功能模塊。

哈哈,這個方法終于能使新團隊開發出具有較為統一風格、較高質量的軟件產品了!這時候,你會發現,所有人都不需要關心架構了,我們只有共識。

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

附:關于架構的官方定義,建議參考《Java應用架構設計》,該書很經典。本文關于“架構就是共識、消滅架構”說法,來自于該書。我不是“架構就是共識、消滅架構”說法的***。

責任編輯:張燕妮 來源: 道法自然
相關推薦

2010-08-10 13:18:34

思科NAC架構

2018-02-24 14:09:01

2011-04-27 09:30:48

企業架構

2012-12-13 09:47:15

軟件架構師架構師

2024-10-23 08:46:16

云上大數據架構

2024-08-20 08:29:55

2019-09-12 14:44:53

云計算云架構數據

2023-07-04 07:53:53

MVCDDD架構

2012-12-13 09:40:04

架構師

2024-11-25 07:00:00

RedisMySQL數據庫

2024-12-16 08:20:00

2025-06-20 08:03:36

Hadoopmysql數據庫

2015-08-03 15:48:42

Hadoop大數據

2013-04-19 01:42:02

2025-04-08 08:10:00

2025-01-20 07:00:00

2019-07-12 15:21:21

加密貨幣銀行貨幣

2023-10-26 11:23:42

2020-10-09 08:26:16

架構

2023-12-26 14:18:08

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久aaaa九色 | 九九天堂网 | 午夜影院在线播放 | 国产日韩久久久久69影院 | 日本在线一区二区三区 | 国产一区二区视频免费在线观看 | 亚洲一区二区在线播放 | 欧美国产亚洲一区二区 | 欧美xxxⅹ性欧美大片 | 国产精品久久久久一区二区三区 | 超碰在线人人 | 在线一区视频 | 欧美午夜精品久久久久久浪潮 | 美女逼网站 | 亚洲手机在线 | 日韩av高清| 国产成人精品午夜 | 久在线| 亚洲欧美在线一区 | 亚洲最大成人综合 | 亚洲福利在线观看 | 久久久久久高潮国产精品视 | 色男人的天堂 | 又爽又黄axxx片免费观看 | 视频在线观看一区二区 | 成人免费视频在线观看 | 日日碰碰 | 国产亚洲精品久久19p | 欧美日韩大陆 | 97热在线 | 夜夜操av| 国产在线对白 | 久草免费在线视频 | 亚洲毛片在线 | 精品在线免费观看视频 | 韩日一区 | 国产在线激情视频 | 在线中文字幕av | 国产精品1区2区 | 亚洲一区二区三区免费视频 | 国产精品亚洲一区 |