架構設計需要關注內容:
1.程式組織(program organization)
劃分功能模組,正確描述模組間關係,
利用高內聚低耦合設計思想與原則對功能模組以元件或者包的形式進行封裝。
根據面向介面設計原理將元件和包進行抽象,公開暴露服務介面。
利用分層架構模式,通過引入分層模式,分離不同的功能模組,根據層次定義模組邊界。
(邏輯檢視、領域模型驅動設計這個還不太懂,後期研究)
2.資料設計(data design)
很多時候功能模組的劃分應與資料表的劃分保持一致,基於功能需求進行資料設計。
考慮物件與關係的對映(orm)、資料查詢效能、資料庫未來的擴充套件及資料庫遷移
3.安全性(security)
軟體層面:考慮資料安全、使用者授權、加密與非法攻擊的防禦
硬體層面:硬體系統的物理分布、網路拓撲、軟體部署環境等
4.效能(perfermance)
改善硬體系統
從架構層面考慮效能優化:優化資料庫訪問、合理分層、引入快取、web系統設計時應該通過減少http會話實現降低伺服器負載的目的。
根據需求評估架構效能指標。
有效編碼,**評審
5.可擴充套件性(scalability)
既要考慮後期維護與更新又要考慮不能過度設計
物件導向設計思想、面向方面程式設計技術(aspect-orientied programming,aop)、利用web service實現面向服務架構(service-orientied architecture)
6.可靠性(reliability)
包括容錯性和錯誤處理。
統一異常處理機制。
分布式架構考慮遠端服務出現問題時可通過智慧型**,在遠端和本地服務之間選擇或者通過本地快取的資料支撐系統正常運轉,直至遠端服務恢復正常
7.可用性(usibility)
ui設計介面風格及操作必須統一,充分考慮使用者體驗,保證操作流程符合業務規則。
《軟體設計精要與模式》讀書筆記 三
第三章 體驗重構 個人強烈推薦 重構 改善既有 的設計 不過建議有2年以上的開發人員看,太早看是浪費時間 本章,作者用來乙個階乘容器的設計來說明重構。3.1 乙個階乘容器 通常,作為乙個初學者,我們的 最初會設計如下 code class factorialcontainer public fact...
《軟體設計精要與模式》
給我乙個支點,我就能撬起地球 關鍵不在於力量有多大,而在於如何合理地利用力量。軟體設計同樣如此。思想的確立,技巧的把握,將在很大程度上決定軟 件架構的合理性。基於這樣的目的,本書圍繞著軟體設計的核心內容,結合大量的例項與 充分地展示了軟體設計之美,以及設計 力量 的巧妙運用。內容涵 蓋了設計模式 重...
書評 軟體設計精要與模式
書評 軟體設計精要與模式 終於閱讀完了張逸先生的 軟體設計精要與模式 一書,掩卷沉思,書中對於軟體設計這門學問的理解和闡述讓我受益良多,潛移默化之中,我對於軟體設計的過程以及模式的使用又有了新的認識。因此,我對此書的評價是一本不可多得的優秀書籍。不能光說優秀,到底優秀在何處呢?個人感覺有以下幾點 首...