1.4什么樣的架構(gòu)才算好

  • 在實際應(yīng)用中,其實不存在一個本質(zhì)上完全好的架構(gòu)或者本質(zhì)上完全糟糕的架構(gòu)庙楚,各種架構(gòu)總能夠或多或少的滿足某些系統(tǒng)的要求上荡。
  • 可能對于一些企業(yè)或者項目來說,這樣的架構(gòu)是很好的馒闷,但對于另一個項目來說鸦致,可能就完全不適用藏畅,比如對一次使用的臨時系統(tǒng)來說,使用具有很好的可修改性的架構(gòu)沒有任何意義。
  • 根據(jù)不同系統(tǒng)的不同目標(biāo)看疗,我們可以對架構(gòu)進行評估总珠,這是我們關(guān)心架構(gòu)的原因之一领铐。
  • 這就需要在設(shè)計架構(gòu)的過程中遵循某些實踐準(zhǔn)則特石,當(dāng)然忽視某一條準(zhǔn)則啤呼,并不意味著整個架構(gòu)都是完全失敗的。至少可以把這些準(zhǔn)則作為你評判架構(gòu)標(biāo)準(zhǔn)呢袱,更好的對你的架構(gòu)進行分析官扣。
  • 我們把經(jīng)驗分為兩類,關(guān)于過程的建議和關(guān)于產(chǎn)品(或結(jié)構(gòu))的建議

Process recommendations

  • 通常只是選擇用一個架構(gòu)師或者由一個明確指定的技術(shù)總監(jiān)領(lǐng)導(dǎo)的一個小的架構(gòu)師團隊來實現(xiàn)某個架構(gòu)产捞,這樣保證架構(gòu)概念的完整性和技術(shù)的連貫性醇锚,同時架構(gòu)師和開發(fā)團隊之間應(yīng)該有緊密的聯(lián)系,確保架構(gòu)不會出現(xiàn)某些不可能實現(xiàn)的象牙塔設(shè)計坯临。
  • 架構(gòu)師在設(shè)計過程中應(yīng)該有一份劃分了質(zhì)量屬性優(yōu)先級的質(zhì)量屬性列表焊唬,這就意味著折衷和權(quán)衡。(功能性就沒有質(zhì)量屬性那么重要)
  • 架構(gòu)應(yīng)該使用視圖的方式記錄下來看靠,這些視圖應(yīng)該將項目生命周期中重要干系人的關(guān)注點都記錄下來也就是說赶促,一開始只是有少量的文檔,后面慢慢進行詳細描述挟炬,這些關(guān)注點通常涉及到系統(tǒng)的創(chuàng)建鸥滨,分析和維護,還有為新的干系人進行系統(tǒng)的介紹谤祖。
  • 在系統(tǒng)開發(fā)初期婿滓,應(yīng)該時常測試和評估架構(gòu),檢測它是否在圍繞系統(tǒng)的重要質(zhì)量屬性實現(xiàn)粥喜,這樣可以保證所有所有對架構(gòu)的改變都不會違背設(shè)計的初衷凸主。
  • 架構(gòu)的設(shè)計實現(xiàn)應(yīng)該是一個迭代增量的過程,而不是在一開始就集成所有的功能點额湘,系統(tǒng)的骨架圖可以很好的解決這個問題卿吐,系統(tǒng)骨架圖就是一開始只完善了模塊和模塊之間的聯(lián)系,而不是過多的設(shè)計功能锋华,在之后的系統(tǒng)開發(fā)過程中嗡官,以這個骨架圖作為基礎(chǔ),逐步增加功能進行有必要的完善毯焕。

Product Recommendations

  • 架構(gòu)最終應(yīng)該是由不同的模塊組成衍腥,這些模塊隱藏內(nèi)部的功能實現(xiàn),只對外提供接口纳猫,這樣每一個模塊內(nèi)部的改變不會影響所有使用該模塊接口的模塊紧阔,這也就是封裝。
  • 除非系統(tǒng)的需求是史無前例的续担,要不系統(tǒng)的質(zhì)量屬性應(yīng)該遵循那些已經(jīng)存在的經(jīng)典的架構(gòu)模式和策略來定義。
  • 架構(gòu)最終不應(yīng)該依賴于某個開發(fā)工具或者產(chǎn)品的某個版本實現(xiàn)活孩,如果依賴是必須的物遇,那么該架構(gòu)至少應(yīng)該保證在所依賴的產(chǎn)品的版本變更后,能夠方便經(jīng)濟的適應(yīng)。
  • 產(chǎn)生數(shù)據(jù)的模塊應(yīng)該和使用數(shù)據(jù)的模塊分開询兴,這樣可以提高可修改性乃沙,因為改變只是被限制在產(chǎn)生數(shù)據(jù)或者是消費數(shù)據(jù)階段,有點像產(chǎn)生數(shù)據(jù)和消費數(shù)據(jù)對外只是提供自己的接口诗舰,對于它們內(nèi)部是怎么產(chǎn)生和消費數(shù)據(jù)的是隱藏的警儒。當(dāng)要增加一個數(shù)據(jù)的時候,兩個階段可以同時進行改變眶根,而不是需要系統(tǒng)逐步的進行升級蜀铲。
  • 模塊和組件之間一對一的映射是不可能發(fā)生的,在支持并發(fā)的系統(tǒng)中属百,可能就有很多實現(xiàn)同一個模塊的組件實例并行執(zhí)行记劝。
  • 每一個進程的編寫都要考慮到與特定處理器之間的關(guān)系,這樣方便對分配進行變更族扰。
  • 架構(gòu)應(yīng)該采用少量的厌丑,簡單的交互模式,也就是說渔呵,系統(tǒng)的功能應(yīng)保持一致怒竿,這樣可以提高系統(tǒng)的可理解性,可修改性扩氢,可靠性耕驰,并減少開發(fā)時間。
  • 對于可能發(fā)生的資源爭奪类茂,架構(gòu)中應(yīng)該包括一個對資源的明確分配部分耍属,即對一些使用到的資源進行合理有效的分配。比如巩检,如果對網(wǎng)絡(luò)的利用是我們關(guān)心的一部分厚骗,那么架構(gòu)師應(yīng)該具體對每一個開發(fā)團隊進行限制,把網(wǎng)絡(luò)擁塞降到最低兢哭;如果性能是我們關(guān)心的部分领舰,那么架構(gòu)師就應(yīng)該對主要線程的時間開銷做一些限制。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末迟螺,一起剝皮案震驚了整個濱河市冲秽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌矩父,老刑警劉巖锉桑,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異窍株,居然都是意外死亡民轴,警方通過查閱死者的電腦和手機攻柠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來后裸,“玉大人瑰钮,你說我怎么就攤上這事∥⑹唬” “怎么了浪谴?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長因苹。 經(jīng)常有香客問我苟耻,道長,這世上最難降的妖魔是什么容燕? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任梁呈,我火速辦了婚禮,結(jié)果婚禮上蘸秘,老公的妹妹穿的比我還像新娘官卡。我一直安慰自己,他們只是感情好醋虏,可當(dāng)我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布寻咒。 她就那樣靜靜地躺著,像睡著了一般颈嚼。 火紅的嫁衣襯著肌膚如雪毛秘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天阻课,我揣著相機與錄音叫挟,去河邊找鬼。 笑死限煞,一個胖子當(dāng)著我的面吹牛抹恳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播署驻,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼奋献,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了旺上?” 一聲冷哼從身側(cè)響起瓶蚂,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宣吱,沒想到半個月后窃这,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡征候,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年钦听,在試婚紗的時候發(fā)現(xiàn)自己被綠了洒试。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡朴上,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卒煞,到底是詐尸還是另有隱情痪宰,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布畔裕,位于F島的核電站衣撬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏扮饶。R本人自食惡果不足惜具练,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望甜无。 院中可真熱鬧扛点,春花似錦、人聲如沸岂丘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奥帘。三九已至铜邮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寨蹋,已是汗流浹背松蒜。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留已旧,地道東北人秸苗。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像评姨,于是被迫代替她去往敵國和親难述。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容