軟件架構自學筆記——什麼樣的架構纔是好的架構

 AAA原則:編程

可考覈(Accountable):好的軟件架構讓每一個團隊都有本身負責的業務目標架構

可自主(Autonomous):好的軟件架構讓每一個團隊都必定的自主性能夠獨立往前跑,而不老是被其餘團隊阻塞編程語言

可複用(Amortized):好的軟件架構鼓勵對將來投資,使得基礎設施的成本能夠被攤銷微服務

可考覈>>可自主>可複用操作系統

 「可考覈性」是一切的關鍵,是實時軟件管理的前提。線程

技術團隊必須名確業務目標,並對業務目標負責,這樣軟件工程的可考覈性才得以體現。。進程

Bounded Context開發

在大的尺度上,架構就是分解Bounded Contexts(參見領域驅動開發,DDD)。這就是把業務的組織架構圖體現到軟件的世界裏:io

以電商領域爲例,業務被分解爲上面這些Bounded Contexts。沒有一個技術團隊能夠覆蓋橫跨這些Bounded Contexts的業務流程的。這並非啥壞事情,大的問題被分解爲了小問題,業務和技術在一個Bounded Context的範圍內,攜手朝着共同的目標去努力。table

協做單元

解決方案應該是把軟件做爲一個總體來思考,而不是被狹隘的「操做系統進程」的視角給限制了。構建新的微服務的成本,應該和後臺用function啓動一個線程沒有多大區別。理想的編程語言裏,咱們有各類各樣的function,可是執行機制不一樣。

相關文章
相關標籤/搜索