架構設計三原則
合適原則
合適原則宣言:合適優於業界領先
失敗原因
沒那麼多積累,卻想一步登天,是失敗的第二個主要原因
沒那麼卓越的業務場景,卻幻想靈光一閃成爲天才,是失敗的第三個主要原因
沒那麼多人,卻想幹那麼多活,是失敗的第一個原因
簡單原則
簡單原則宣言:簡單優於複雜
軟件領域的複雜性
結構的複雜性
組成複雜系統的組件數量更多
這些組件之間的關係也更加複雜
組件越多,就越有可能其中某個組件出現故障
某個組件改動,會影響關聯的所有組件
定位一個複雜系統中的問題更加困難
邏輯複雜性
單個組件承擔了太多功能,邏輯複雜幾乎會導致軟件工程的每個環節都有問題
問題:
代碼很龐大,一次clone時間很長
幾十上百人維護一套代碼,不小心改了一行 代碼,導致征戰崩潰;需要不停討論版本計劃、協調資源、解決衝突
需求過多導致分支過多,各種分支合併和覆蓋,每天上線幾十個版本
線上出現故障,需要幾十個人一起定位和處理
功能複雜的組件的一個典型特徵就是採用了複雜的算法。複雜的算法導致問題難以理解,進而導致難以實現和修改,並難以快速解決問題
演化原則
演化原則宣言:演化優於一步到位
對於軟件來說,變化纔是主題;本質是:軟件架構需要根據業務發展不斷變化
設計過程
首先,設計出來的架構要滿足當時的業務需要
其次,架構要不斷地在時間應用過程中迭代、保留優秀的設計、修復有缺陷的設計,改正錯誤的設計,去掉無用的設計,使得架構逐漸完善
第三,當業務發生變化時,架構要擴展、重構、甚至重寫;代碼也會重寫,但有價值的經驗、教訓、邏輯、設計等卻可以在新架構中延續
架構設計三原則
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.