您好,登錄后才能下訂單哦!
“架構”一詞對程序員來說是再常見不過的詞了,一提到架構絕大部分的技術人員都會有一種不可企及、十分高大上的感覺,其實架構就在我們身邊,是我們看得到摸的著的東西。
我們先看看幾個概念,系統與子系統,模塊與組件,框架與架構的關系和區別。
系統是由一群有關聯的個體按照指定的規則運作,從而能完成個別元件不能單獨完成的工作的整體。例如:汽車與發動機、輪胎等元件的關系。
子系統也是一個系統,他與系統的定義是一致的,只是觀察的角度不同,一個系統可能是更大系統的一個子系統。
模塊和組件都是系統的組成部分,只是從不同角度拆分系統而已; 從邏輯的角度來拆分就是“模塊”,從物理的角度拆分后就是“組件”; 劃分模塊的主要目的是職責分離,劃分“組件”的目的是單元復用。
框架(Framework)關注的是規范與功能產品,例如MVC規范與SpringMVC這個MVC的開發框架;架構(Architecture)關注的是“結構”,他是系統的頂層結構。
總結:系統根據業務或功能劃分為各個模塊,某些模塊可能又被升級為了子系統;模塊中可能使用了很多組件來實現某些具體功能;同時,也可能使用了某些框架來作為開發的基礎,而架構則描述了各個子系統或模塊間如何協調工作。
**架構設計的主要目的是為了解決軟件系統復雜度帶來的問題**
那么系統的復雜度主要來源于哪些方面呢?其主要來源與以下幾個方面
1)高性能
2)高可用
3)可擴展性
4)低成本
5)安全
6)規模
也就是說結構設計是為了解決某些關鍵的問題而存在,并不是每個系統都需要進行架構設計的。
在做架構設計的時候不能貪大而全,而是要遵循幾個簡單的原則
1)合適原則:合適優于業界領先
沒有那么多人,卻想干那么多人的活,是失敗的第一個主要原因;沒有那么多積累卻想一步登天,是失敗的第二個主要原因;沒有那額卓越的業務場景,卻幻想靈光一閃成為天才,是失敗的第三個主要原因。
2)簡單原則:簡單優于復雜
結構的簡單,邏輯的簡單
3)演化原則:演化優于一步到位
對于建筑來說,永恒是主題;而對于軟件來說,變化才是主題。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。