一、軟體層的特性
軟體層有如下特性:
1、每個層由一組相關的類或元件構成,共同完成特定的功能。
2、層與層之間存在自上而下的依賴關係,即上層元件會訪問下層的元件api,而下層元件不依賴於上層元件。例如表示
層依賴於業務邏輯層,而業務層依賴於資料層。
3、每個層對上層公開api,但具體的實現細節對外是透明的,當某一層的實現發生變化時,只要api不變,就不會影響到其他層的實現。
總的來講,軟體分層的最基本特徵就是層與層之間存在自上而下的依賴關係。
二、軟體分層的優點
恰當的進行軟體分層,可以提高軟體的以下效能:
1、可伸縮性,指應用程式是否能支援更多的使用者。
2、可維護性、靈活性,比如當需求發生變化時,只需要修改軟體的一部分,不會影響到其他部分的**,降低了層
與層之間的耦合度。
3、可擴充套件性,可以很方便的在現有系統中新功能,而層少越少,新增加的功能就越容易破壞現有程式的結構,層數多的話,就可以在第個層中找擴充套件點。
4、可重用性,可以減少程式**冗餘,每一層都可以多種用途,滿足於多種需求,比如,業務邏輯層可以被多種表述層共享。
5、可管理性,程式分層後可以降低系統管理的難易程式,將程式分為多層後,可以將工作分解給不同的開發小組,從而便於管理,系統越複雜、規模越大,分的層數就需越多。
三、軟體分層的缺點
軟體分層越多,對軟體設計人員的要求也就越高,在設計階段,必須花更多的時間構思合理的體系結構,如考慮如何劃
分層、定義每個層的職責;如果在體系結構方面存在缺陷,比如,層與層之間出現自下而上的依賴關係,一旦業務邏輯發生
變化,可能表示層的**也要修改。
在除錯方面,隨著層數增加,除錯也會越困難,比如我們常用的三層架構,依賴關係都是自上而下的,比如表現層出現
了bug,可能是表現層出現的問題,也有可能是業務邏輯層出現的,也有可能是資料訪問層出現的,像這種情況下,我們調
試時就需要將每層的開發人員聯合起來,才可能找到bug的原因。
軟體分層越多,系統的效能也會有所影響。
剛構橋的優缺點 橋梁的優缺點
梁式橋 主梁為主要承重構件,受力特點為主梁受彎。主要材料為鋼筋混凝土 預應力混凝土,多用於中小跨徑橋梁。簡支梁橋合理最大跨徑約 公尺,懸臂梁橋與連續梁橋合宜的最大跨徑約 60 70 公尺。優點 採用鋼筋砼建造的梁橋能就地取材 工業化施工 耐久性好 適應性強 整體性好且 美觀 這種橋型在設計理論及施工...
演算法的優缺點 邏輯回歸演算法的優缺點
邏輯回歸演算法是最經典的幾個機器學習演算法之一,本文對它的優點,缺點進行總結。sigmoid函式 表示式如下 1.實現簡單,廣泛的應用於工業問題上 2.分類時計算量非常小,速度很快,儲存資源低 3.便利的觀測樣本概率分數 4.對邏輯回歸而言,多重共線性並不是問題,它可以結合l2正則化來解決該問題 5...
軟體生命週期模型優缺點
瀑布模型 把每個階段當成瀑布中的乙個階梯,強調由上而下,互相銜接 逐級下落,固定次序。優點 開發階段清晰,便於評審 審計 跟蹤 管理和控制 缺點 不可逆或很難可逆 問題會積累,錯誤會傳遞發散擴大,導致成本和質量失控 快速原型模型 原型模型 快速原型模型的第一步是快速建立乙個能反映使用者主要需求的原型...