系統分析與設計 Homework(lesson 13)
1. 描述軟件架構與框架之間的區別與聯繫
- 軟件架構是軟件系統組織的一系列重要的決策,它描述了系統組成的結構元素以及相應接口的選擇,和這些元素在協作中特定的行爲。
- 框架是特定語言和技術的架構應用解決方案。是具體語言和技術相關的。框架集成了代碼和多種第三方解決方案的工具,使其聚焦業務邏輯代碼。
- 區別
- 兩者聚焦的方面不同
- 架構聚焦在技術實現
- 框架聚焦在業務邏輯
- 兩者解決的問題不同
- 架構提供問題的一般解決方案,注重大局
- 框架提供具體問題的具體方案,根據不同的需求得到不同的框架
- 兩者的目的不同
- 架構是普遍軟件系統的實施和開發
- 框架是爲了讓開發人員能夠複用框架得到相應的應用
- 兩者聚焦的方面不同
- 聯繫
- 框架是一種或多種架構的組合的實現
- 架構決策往往會體現在框架之中
- 兩者都是爲了解決軟件系統日益複雜所帶來的困難而分而治之的結果
2. 以你的項目爲案例
- 繪製三層架構模型圖,細緻到分區
- 結合你程序的結構,從程序員角度說明三層架構給開發者帶來的便利
- 並行開發支持,利用前後端分離,實現並行開發
- 每個層或包的職責是清晰的,模塊化並可擴展的
- 程序的結構化分層,使得不同的開發人員只需主要關注結構中相應的某一層
- 項目結構更清楚,有利於後期的維護和升級
- 可容易地用新的實現來替換原有層次的實現
3. 研究 VUE 與 Flux 狀態管理的異同
VUE是一種用於構建用戶界面的漸進式框架
Flux 是一種架構思想,專門解決軟件的結構問題
- 相同點
- 採用了相同的狀態管理思想,都是通過store來存儲狀態
- 提供數據驅動、可組合搭建的視圖組件
- 視圖與控制層分離
- 集中式狀態管理
- 便於維護
- 不同點
- 數據流的順序不同
- Flux數據流的順序是
- View發起Action
- Action傳遞到Dispatcher
- Dispatcher將通知Store
- Store的狀態改變通知View進行改變
- VUE數據流的順序是
- View調用store.commit提交對應的請求到Store中對應的mutation函數
- store改變(vue檢測到數據變化自動渲染)
- Flux數據流的順序是
- 同步與異步操作的處理不同
- Flux是view->action->dispatcher->store->dispatcher->view,同步和異步採取同樣的處理
- VUE採取不同的處理方法
- 同步:view->commit->mutations->state->view
- 異步:view->dispatch->actions->mutations->state->view
- 數據流的順序不同