分層架構是常用的架構模式,對於乙個大系統可以劃分為幾個子系統,各子系統位於不同的抽象層次。各層間上層依賴下層服務,下層不能依賴上層。
訊息可以從上向下,也可以從下向上。自頂向下呼叫下層介面,稱為請求。自低向上的通訊,稱為通知,一般使用**方法,從而實現單路徑耦合。
【分層的步驟】
1、定義抽象準則
2、根據準則定義抽象層數
3、給每個層命名並指定任務
4、指定服務
5、細化分層,重複上述步驟,直到乙個穩定的分層結構
6、為每層指定介面
7、構建獨立層
8、指定層間通訊,分離臨接層
9、設計錯誤處理策略
鬆散分層結構:注重效能,損失可維護性
繼承分層結構:訪問直接,依賴性強
【分層的優點】
分層架構模式是個可靠的通用模式,對於大部分應用它是個很好的開始,尤其當不知道哪種結構適合使用時。
它有如下幾點優勢:重用性好、標準化支援、區域性依賴、可替換性
【分層的缺點】
分層主要有以下的缺點:影響多層次的修改;降低了效率;多層傳遞,重複的工作;層的粒度難以把握。
分層的多層傳遞中有現象被稱為汙水池反模式(architecture sinkhole anti-pattern)。該反模式描述的是這樣的場景,請求流穿過架構的很多層,每一層只有少量的甚至沒有業務邏輯。例如,假設展示層響應使用者的請求獲取客戶資訊,展示層將請求傳遞給業務層,業務層什麼也不做,僅僅將請求直接傳遞給持久層,持久層執行sql語句獲取資料。資料在回傳過程中沒有經過任何的處理。
每個分層架構都可能會有一些場景落入汙水池反模式。然而關鍵是分析這樣的請求佔了多少比例。通常80-20定律可用來分析是否落入了汙水池反模式。當反模式的比例比較大時,你或許考慮將某些層開放,這時要注意缺乏層隔離,會使得以後修改時比較困難。
分層架構會使應用變得龐大,即使把表示層和業務層分成了單獨的部署單元。這對某些應用不需要考慮,但是也會帶來一些部署的隱患,如健壯性、可靠性、效能和可伸縮性。
【常用分層】
三層模型:表現層(ui)、業務邏輯層(bll)、資料訪問層(dal)。
四層模型:表示層,應用邏輯層,領域模型層,資料庫層
讀書筆記2
關於this指標 雖然this指標大家已經很熟悉了,但是我這裡討論的關於this指標的問題可能大家還沒注意過 為了說明這個關於this的歸屬問題,我自寫了一段再簡單不過的程式,雖簡單但具體 include class a void aa 我的問題是指標p1是指向b自身嗎?一看程式,大家就知道 不是,...
讀書筆記(2)
沉默的藝術 意識科學基礎理論 量子效應只是用於穩定某種內在自由度極大的基本粒子,然後再用基本粒子的內在屬性產生意識體驗。只能通過呈現乙個系統的 物理 屬性來描述乙個系統。只能通過變成內在屬性配對的其中乙個系統,以直接體驗的方式來獲得這些內在屬性的資訊。定義乙個包含所有系統的系統d,除該系統外無任何系...
讀書筆記2
ripple專注於跨境支付領域,主要為銀行和其他金融機構提供基於區塊鏈協議的外匯 轉賬方案。目前已公布的銀行客戶有3家,並正在和另外80多家銀行深入洽談。ripple主 要通過其開發的interledger協議專案,在保持銀行等金融機構的各自不同的記賬系統的基 礎上,打造乙個全球統一的網路金融傳輸協...