移動端軟件架構設計

什麼是架構

  • 軟件架構是一張開發藍圖,是一個整體的規劃,即軟件工程的指導方針,軟件開發的主要目標如圖所示:
    在這裏插入圖片描述

  • 優秀的軟件架構提供迅速響應,擴展靈活;還要具備美觀性,代碼要簡潔,易於閱讀、維護、能使維護者對功能產生更清晰的認識,能夠快速地處理變化

軟件架構設計的關注點

  • 軟件架構設計應該關注 – 變化

軟件架構設計的本質和目的

  • 本質降低軟件熵
  • 目的:降低因需求增加導致的軟件熵增加從而導致的成本增加

架構設計模式原則

  • 架構的細節需要運用一些經典的設計模式原則,比較常用的原則之一爲SOLID原則

SOLID原則

  • 單一職責原則(SRP): 每一個類都應該只具有一種職責
  • 開放封閉原則(OCP) : 對於軟件對象擴展是開放的,修改是封閉的,應該將統一的功能抽象成一個共有的接口,具體到每個對象中去實現
  • 里氏替換原則 (LSP) : 繼承應該保證有關超類型對象的任何屬性也適用於子類型對象
  • 依賴倒置原則 (ISP) : 程序要依賴抽象的接口而不要依賴具體的實現 – 面向接口編程
  • 接口分離原則 (DIP): 客戶端不應該依賴於它不需要的接口或方法,類於類之間的依賴應該建立在最小的接口之上(接口不應該設計的過於臃腫而導致系統解耦困難,增加重構的複雜度)

架構設計步驟

  1. 認識系統:認識系統的數據模型、業務組成、模塊組成
  2. 設計系統:選擇合適的架構模式,對架構模式調研分析,確定系統架構設計方案
  3. 創建系統:選擇系統的實現環境,對系統進行部署,進入開發/改造階段
  4. 收集反饋:系統創建完成,持續調研,收集反饋,對系統做下一步優化規劃
認識系統
  • 目標:
    • 設計者希望系統是什麼?
    • 使用者希望系統是什麼?
    • 成本預估目標如何?
  • 明確的問題
    • 現有系統存在的問題(內部)
    • 影響系統的外部條件是什麼(外部)
設計系統
  • 兩個階段
    • 技術選型
    • 架構模式選型
  • 注意的問題
    • 對於選定的技術和架構模式,團隊學習成本和接受度如何
    • 選定的模型存在什麼優勢和劣勢,團隊成員對此情況的瞭解程度
    • 選定技術模型流行度如何,以及流行原因
創建系統
  • 託管代碼
  • 跟蹤進度
  • 完成後進行復盤
收集反饋
  • 代碼評審
  • 匿名留言
  • 合作交流
  • 社區討論
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章