《一線架構師實踐指南》閱讀筆記01

2022-09-07 12:36:13 字數 1720 閱讀 9368

一、什麼是架構模式?

第一節課結束以後一臉懵逼,我有了了很多問題,其中的大前提什麼是軟體架構模式?設計模式是一套解決類似問題的經驗的總結。採用設計模式的目的是為了可重用**。而架構模式也乙個通用的、可重用的解決方案。我覺得他們的區別是,設計模式跟**更有直接關係,架構模式站在系統全域性的角度解決子系統之間的關係、功能需求與非功能的優先順序與取捨原則等。

二、分層模式

這種模式也稱為多層體系架構模式。它可以用來構造可以分解為子任務組的程式,每個子任務都處於乙個特定的抽象級別。每個層都為下乙個提供更高層次服務。分層模式的關鍵點在於確定依賴:即通過分層,可以限制子系統間的依賴關係,使系統以更鬆散的方式耦合,從而更易於維護。一般資訊系統中最常見的是如下所列的4層:表示層,業務邏輯層,持久層,應用層。

模式介紹:

表示層(也稱為ui層):主要對使用者的請求接受,以及資料的返回,為客戶端提**用程式的訪問。

應用層(也稱為服務層):服務層的作用就是將表現層與業務邏輯層之間完成解耦。那麼表現層中就不會出現任何的業務**,當然這樣帶來的好處也是顯而易見的,就是當我們修改業務層**時,我們不需要修改表現層的**,

當然如果服務層設計的不好,那麼可能會造成反效果。

業務邏輯層(也稱為領域層):主要是針對具體的問題的操作,也可以理解成對資料層的操作,對資料業務邏輯處理,如果說資料層是積木,那邏輯層就是對這些積木的搭建。無疑是系統架構中體現核心價值的部分。它的關注點

主要集中在業務規則的制定、業務流程的實現等與業務需求有關的系統設計,也即是說它是與系統所應對的領域邏輯有關

資料訪問層(也稱為持久化層):主要是針對非原始資料(資料庫或者文字檔案等存放資料的形式)的操作層,而不是指原始資料,也就是說,是對資料庫的操作,而不是資料,具體為業務邏輯層或表示層提供資料服務。

使用場景:

一般的桌面應用程式

電子商務web應用程

模式特點

每個模組必須屬於某個層次,為上層提供服務;同時委派任務給下層模組。任何乙個模組,都不能逆層次呼叫;屬於下層的模組,不得呼叫(耦合)上層或上層次的模組。任何乙個模組,都不得跨層次呼叫。

使用場景:

設計模式實現:

門面模式 ——我們對於每個模組或者每個層次都會設計乙個「門面」來降低耦合的複雜程度。

策略模式——抽象層次會隱藏底層的實現細節,這就是策略模式最基本的設計,我們往往會把上層作為功能介面,下層作為可選的策略來實現。

優點

1、開發人員可以只關注整個結構中的其中某一層;

2、可以很容易的用新的實現來替換原有層次的實現;

3、可以降低層與層之間的依賴;

4、有利於標準化;

5、利於各層邏輯的復用。

6、結構更加的明確

7、在後期維護的時候,極大地降低了維護成本和維護時間

缺點

1、降低了系統的效能。這是不言而喻的。如果不採用分層式結構,很多業務可以直接造訪資料庫,以此獲取相應的資料,如今卻必須通過中間層來完成。

2、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加乙個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和資料訪問層中都增加相應的**。

3、增加了開發成本。

《一線架構師實踐指南》閱讀筆記01

第一節課結束以後一臉懵逼,我有了了很多問題,其中的大前提什麼是軟體架構模式?設計模式是一套解決類似問題的經驗的總結。採用設計模式的目的是為了可重用 而架構模式也乙個通用的 可重用的解決方案。我覺得他們的區別是,設計模式跟 更有直接關係,架構模式站在系統全域性的角度解決子系統之間的關係 功能需求與非功...

閱讀筆記一線架構師實踐指南01

通過閱讀第前5章,我明確了很多概念性的東西,比如,用例是功能需求的實際標準,用例涉及但不涵蓋非功能需求等。本書在緒論部分講到了四個核心主張,通過閱讀後面的,我發現這四個主張貫穿本書全文。1 方法體系是大趨勢 一線架構師真正需要的,是覆蓋需求進 架構出全過程的實踐指導 只有綜合了不 同方法優點的 方法...

《一線架構師實踐指南》閱讀筆記01

架構 師 選擇正確的模式解決問題 1.根據要解決的問題,對目標的系統邊界進行界定 2.並對目標按照系統的某個原則進行切分 3.根據2,使得這些部分之間能夠進行有機的聯絡,合併組裝成為乙個整體,完成目標系統的所有工作。軟體需求分析的三個層次 業務目標,使用者目標,系統目標 六種質量屬性 1.系統的質量...