閱讀《架構(gòu)整潔之道》

想弄明白問題

  • 軟件架構(gòu)是什么右冻,為什么要有装蓬;
  • 如何定義好的架構(gòu),有哪些指標纱扭;
  • 如何實現(xiàn)好的軟件架構(gòu)牍帚。

讀后感

軟件架構(gòu)是什么,為什么要有

參照第15章的描述乳蛾,

軟件架構(gòu)這項工作的實質(zhì)就是規(guī)劃如何將系統(tǒng)切分成組件暗赶,并安排組件之間的排列關(guān)系,以及組件之間互相通信的方式肃叶。

為什么要這么做忆首,

設計軟件架構(gòu)的目的,就是為了在工作中更好地對這些組件進行研發(fā)被环、部署糙及、運行以及維護。

具體來說筛欢,根據(jù)單一職責原則浸锨,切分系統(tǒng)成多個組件唇聘,利用依賴反轉(zhuǎn)原則調(diào)整組件的依賴關(guān)系,根據(jù)同步還是異步設計組件之前的通信接口柱搜。這么做的目的很簡單:降低開發(fā)迟郎、部署、運行以及維護的成本聪蘸,用最少的人力和物力來完成系統(tǒng)的構(gòu)建和維護宪肖。

如何定義好的架構(gòu),有哪些指標

書里面給了三個指標:不穩(wěn)定性(A)健爬、抽象性(I)控乾、距離主序列線的距離(D)。

  • A: 假設a_{out}表示該組件依賴的組件數(shù)量娜遵,a_{in}表示該組件被依賴的組件數(shù)量蜕衡,那么A = a_{out} / (a_{out} + a_{in}),當前組件依賴的其它組件越多设拟,則越不穩(wěn)定慨仿;
  • I: 假設C_i表示組件內(nèi)抽象類的數(shù)量,C_c表示具體實現(xiàn)類的數(shù)量纳胧,則I=C_i/(C_i + C_c)镰吆,當前組件內(nèi)的抽象類占比越高,則越抽象跑慕;
  • D: 先定義主序列線鼎姊,以A為縱軸,I為橫軸相赁,只取第一象限,則主序列線為A+I-1=0的線段慰于,D表示當前組件距離主序列線的距離钮科,值越小,說明設計越好婆赠。

如何實現(xiàn)好的軟件架構(gòu)

這里引入了一個概念:層次绵脯,一個組件的層次越高,它距離輸入/輸出的距離也就越遠休里。

在項目初期蛆挫,需要保持架構(gòu)的可選項,延遲策略無關(guān)的決策妙黍,比如選用什么數(shù)據(jù)庫悴侵、web框架、展示界面等拭嫁。將修改原因可免、修改時間抓于、相同層次的代碼定義到一個組件,并通過定義抽象類的方式浇借,讓低層次的組件依賴高層次的組件捉撮。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市妇垢,隨后出現(xiàn)的幾起案子巾遭,更是在濱河造成了極大的恐慌,老刑警劉巖闯估,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灼舍,死亡現(xiàn)場離奇詭異,居然都是意外死亡睬愤,警方通過查閱死者的電腦和手機片仿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來尤辱,“玉大人砂豌,你說我怎么就攤上這事」舛剑” “怎么了阳距?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長结借。 經(jīng)常有香客問我筐摘,道長,這世上最難降的妖魔是什么船老? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任咖熟,我火速辦了婚禮,結(jié)果婚禮上柳畔,老公的妹妹穿的比我還像新娘馍管。我一直安慰自己,他們只是感情好薪韩,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布确沸。 她就那樣靜靜地躺著,像睡著了一般俘陷。 火紅的嫁衣襯著肌膚如雪罗捎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天拉盾,我揣著相機與錄音桨菜,去河邊找鬼。 笑死捉偏,一個胖子當著我的面吹牛雷激,可吹牛的內(nèi)容都是我干的替蔬。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了虐唠?” 一聲冷哼從身側(cè)響起晤锥,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡剩彬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了矿卑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喉恋。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖母廷,靈堂內(nèi)的尸體忽然破棺而出轻黑,到底是詐尸還是另有隱情,我是刑警寧澤琴昆,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布氓鄙,位于F島的核電站,受9級特大地震影響业舍,放射性物質(zhì)發(fā)生泄漏抖拦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一舷暮、第九天 我趴在偏房一處隱蔽的房頂上張望态罪。 院中可真熱鬧,春花似錦下面、人聲如沸复颈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至君纫,卻和暖如春驯遇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蓄髓。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工叉庐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人会喝。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓陡叠,卻偏偏與公主長得像玩郊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子枉阵,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

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