【架構(gòu)設(shè)計專題系列】 [方法論篇] - 1、我心目中好的架構(gòu)設(shè)計

背景

最近在做 BI-統(tǒng)計圖查詢層重構(gòu)(java應(yīng)用層分析查詢), 自己也在設(shè)計的這個過程中結(jié)合過往的經(jīng)驗在思考:

1柄沮、到底什么是好的架構(gòu)設(shè)計岁歉?
2闹瞧、好的架構(gòu)設(shè)計應(yīng)該具備哪些特征宣谈?
3尔破、設(shè)計完成的方案能否平穩(wěn)落地娱两?
4莺匠、團(tuán)隊協(xié)同開發(fā)的時候是否方便、易用十兢?
5趣竣、后期業(yè)務(wù)增長摇庙、功能迭代的過程中是否又要推翻原有的設(shè)計?

帶著這些問題 在此次重構(gòu)架構(gòu)設(shè)計的過程中反復(fù)思考遥缕,反復(fù)實踐卫袒,自己總結(jié)了一些方法論,下面與大家分享一下单匣,供大家指正與參考夕凝。

適用人群
重點適配高級開發(fā)人員。
但因為是總結(jié)方法封孙,產(chǎn)品迹冤、測試、開發(fā)人員均可參考虎忌。

一泡徙、我心目中好的架構(gòu)設(shè)計

我心目中好的架構(gòu)設(shè)計,應(yīng)該具備以下幾個重點項(權(quán)重由高到低)
1膜蠢、規(guī)范邊界
使用嚴(yán)格的技術(shù)手段堪藐,依據(jù)業(yè)務(wù)模型,規(guī)范功能職責(zé)挑围、規(guī)范業(yè)務(wù)邊界礁竞。從邏輯上(業(yè)務(wù)模型)和物理上(文件結(jié)構(gòu))共同進(jìn)行規(guī)范。

--好影響:
因為指責(zé)清晰杉辙,所以后續(xù)豐富功能的過程中模捂,能保證功能內(nèi)聚,每次功能迭代的過程中可以通過小范圍重構(gòu)使系統(tǒng)更健壯蜘矢。在經(jīng)歷1-2年的迭代后狂男,系統(tǒng)業(yè)務(wù)邊界依然清晰,功能足夠內(nèi)聚品腹。

2岖食、中臺設(shè)計
架構(gòu)設(shè)計上要適當(dāng)?shù)募夹g(shù)驅(qū)動業(yè)務(wù),系統(tǒng)功能應(yīng)通用舞吭。
設(shè)計過程中要先從業(yè)務(wù)入手(此階段是業(yè)務(wù)驅(qū)動技術(shù))泡垃,收集所有功能(通用功能+定制化功能),然后設(shè)計業(yè)務(wù)模型羡鸥,之后進(jìn)行架構(gòu)設(shè)計蔑穴,此階段就是要技術(shù)驅(qū)動業(yè)務(wù)我的系統(tǒng)應(yīng)該具備什么能力惧浴,可以支持什么功能澎剥,現(xiàn)在業(yè)務(wù)沒有提到的功能是否也能支持,這些業(yè)務(wù)沒有涵蓋到的功能只是實現(xiàn)預(yù)留,暫時不給前臺提供此功能而已哑姚。這樣系統(tǒng)的設(shè)計對于后臺來講才是符合邏輯的祭饭,健壯的,有依據(jù)的叙量,而不會因為嚴(yán)重的功能定制化導(dǎo)致系統(tǒng)結(jié)構(gòu)零散倡蝙,沒有規(guī)矩、沒有規(guī)范绞佩,導(dǎo)致系統(tǒng)越來越臃腫寺鸥,最后到達(dá)不能迭代的境地。

--好影響:
系統(tǒng)功能健壯品山、有章法胆建、有規(guī)矩。

3肘交、支持拓展
總體宗旨就是因為易拓展笆载,所以易維護(hù)。功能要良好支持拓展涯呻,包括橫向拓展凉驻、向上聚合拓展、多組合復(fù)雜場景拓展复罐。(此項結(jié)合具體業(yè)務(wù)去看涝登,例如此次重構(gòu)就是復(fù)雜在多場景、多條件組合相互影響上效诅。)

--好影響:
具體實現(xiàn)可采用策略模式胀滚、多條件組合策略 結(jié)合 模版方法進(jìn)行設(shè)計,做到核心功能統(tǒng)一乱投、定制化需求相互獨立蛛淋、功能聚焦、功能易理解等篡腌。從而干掉if else-if else這類嚴(yán)重影響系統(tǒng)維護(hù)的代碼實現(xiàn)。

4勾效、迭代簡單
大道至簡嘹悼。技術(shù)架構(gòu)設(shè)計可以復(fù)雜,可以精巧层宫,可以不易理解杨伙,但是需要把業(yè)務(wù)邏輯實現(xiàn)屏蔽在架構(gòu)設(shè)計之外。在業(yè)務(wù)邏輯的實現(xiàn)上一定要簡單萌腿、簡潔限匣、易懂,用最簡單毁菱、最高效的代碼米死,實現(xiàn)邏輯锌历。
主干流程打通后,或者現(xiàn)有業(yè)務(wù)支持成功后峦筒,后續(xù)加人介入開發(fā)究西,即使實習(xí)生或者初級開發(fā)工程師也能快速接入開發(fā)。而且針對不同職級開發(fā)人員物喷,可結(jié)合業(yè)務(wù)及依據(jù)架構(gòu)設(shè)計卤材,分配不同難度工作。

--好影響:
架構(gòu)搭建完成之后峦失,系統(tǒng)維護(hù)不嚴(yán)重依賴核心設(shè)計人員扇丛,做到核心設(shè)計人員和系統(tǒng)解耦,同時系統(tǒng)迭代效率可橫向拓展尉辑,加人即可增加系統(tǒng)迭代速度帆精。

后記:
此架構(gòu)設(shè)計文為【專題系列】,大致一周更新一次材蹬,后續(xù)將結(jié)合現(xiàn)在進(jìn)行的重構(gòu)工作实幕,圍繞此項目周期,從重點場景設(shè)計堤器、落地實現(xiàn)昆庇、代碼實現(xiàn)細(xì)節(jié)、失敗案例分析闸溃、測試階段及線上暴露問題整吆、災(zāi)備方案、持續(xù)優(yōu)化等方面進(jìn)行持續(xù)更新辉川,理論結(jié)合實踐進(jìn)行設(shè)計歷程記錄表蝙,供大家參考。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乓旗,一起剝皮案震驚了整個濱河市府蛇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屿愚,老刑警劉巖汇跨,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妆距,居然都是意外死亡穷遂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門娱据,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚪黑,“玉大人,你說我怎么就攤上這事〖纱” “怎么了抒寂?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長伴网。 經(jīng)常有香客問我蓬推,道長,這世上最難降的妖魔是什么澡腾? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任沸伏,我火速辦了婚禮,結(jié)果婚禮上动分,老公的妹妹穿的比我還像新娘毅糟。我一直安慰自己,他們只是感情好澜公,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布姆另。 她就那樣靜靜地躺著,像睡著了一般坟乾。 火紅的嫁衣襯著肌膚如雪迹辐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天甚侣,我揣著相機與錄音明吩,去河邊找鬼。 笑死殷费,一個胖子當(dāng)著我的面吹牛印荔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播详羡,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼仍律,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了实柠?” 一聲冷哼從身側(cè)響起水泉,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎窒盐,沒想到半個月后草则,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡登钥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了娶靡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牧牢。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出塔鳍,到底是詐尸還是另有隱情伯铣,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布轮纫,位于F島的核電站腔寡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏掌唾。R本人自食惡果不足惜放前,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糯彬。 院中可真熱鬧凭语,春花似錦、人聲如沸撩扒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搓谆。三九已至炒辉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泉手,已是汗流浹背黔寇。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留螃诅,地道東北人啡氢。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像术裸,于是被迫代替她去往敵國和親倘是。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355