架構(gòu)師修煉之道-讀書筆記-第五六章
五、挖掘關(guān)鍵架構(gòu)需求
關(guān)鍵架構(gòu)需求ASR:顯著影響架構(gòu)中的結(jié)構(gòu)選擇的需求
分為四類
約束:給定或選定的不可更改的設(shè)計(jì)決策,分為技術(shù)約束和業(yè)務(wù)約束。
質(zhì)量屬性:外部可見特性以及對(duì)系統(tǒng)運(yùn)行的期望
常見的質(zhì)量屬性
設(shè)計(jì)屬性 運(yùn)行屬性 感知屬性
可修改性 可用性 可管理性
可維護(hù)性 可靠性 可支持性
可復(fù)用性 性能 簡(jiǎn)單性(易用性)
可測(cè)試性 可伸縮性(可擴(kuò)展性) 指導(dǎo)性
可構(gòu)建性或開發(fā)時(shí)間 安全性
影響較大的功能需求
產(chǎn)品代辦列表 挖掘關(guān)鍵架構(gòu)需求的寶藏
其他影響因素
六、主動(dòng)選擇架構(gòu)
設(shè)計(jì)探索是反復(fù)地發(fā)散和聚合的過程,確定問題后,發(fā)散思維,探索解決方案。找到多個(gè)方案后,聚合思維,排除不合適的方案。
探索的方面
1、探索元素及其作用,確定架構(gòu)的結(jié)構(gòu)組成
有哪些模塊以及模塊對(duì)象
2、探索關(guān)系及其接口,確認(rèn)元素的交互方式
模塊之間的關(guān)系以及如何交互
3、探索問題領(lǐng)域,理解架構(gòu)所處的環(huán)境
架構(gòu)的約束
4、探索技術(shù)和框架,提升質(zhì)量屬性
理解工具箱工具的使用方式并從中找出合適的工具
5、探索構(gòu)建和部署方法,確保架構(gòu)可以交付
軟件持續(xù)交付的方式
6、探索以往的設(shè)計(jì),獲得啟發(fā),指導(dǎo)決策
溫故知新
三層模式
展現(xiàn)層-業(yè)務(wù)層-數(shù)據(jù)庫(kù)
好處:易于測(cè)試、部署、描述
壞處:難以提升可伸縮性和可用性
發(fā)布訂閱模式
好處:可更改性、靈活性
壞處:消息順序需要確定
面向服務(wù)模式
好處:可更改、靈活、可測(cè)試性、易于擴(kuò)展、可用性強(qiáng)
壞處:復(fù)雜度高
決策矩陣
每個(gè)架構(gòu)模式對(duì)于不同質(zhì)量屬性的效果
將設(shè)計(jì)決策移出架構(gòu) 提交架構(gòu)靈活性