系統分析與設計【lesson 13】
阿新 • • 發佈:2018-12-26
1. 描述軟體架構與框架之間的區別與聯絡
軟體架構是有關軟體整體結構與元件的抽象描述,用於指導大型軟體系統各個方面的設計。軟體架構決策涉及到如何將軟體系統分解成不同的部分、各部分之間的靜態結構關係和動態互動關係等。經過完整的開發過程之後,這些架構決策將體現在最終開發出的軟體系統中。
軟體框架是面向領域的、可複用的“半成品”軟體,它實現了該領域的共性部分,並提供了一些定義良好的可變點以保證靈活性和可擴充套件性。也就是說軟體框架是領域分析結果的軟體化,是領域內最終應用的模板。
總的來說,軟體架構是一種抽象描述,而軟體框架是一種可複用的軟體,這是兩者本質上的不同。軟體架構可以體現在軟體框架之中,在按照軟體架構進行編碼的過程中,用到的軟體框架也是符合這個架構的。
2. 以你的專案為案例
繪製三層架構模型圖,細緻到分割槽
結合你程式的結構,從程式設計師角度說明三層架構給開發者帶來的便利
三層架構模型圖如下:
三層架構給開發者帶來的便利
- 由於有了較為明確的劃分,開發者能夠被合理分工,各司其職
- 各層的解耦使得開發出的軟體更為魯棒,便於維護
- 清晰的架構使得每個開發者對整個專案有整體上的瞭解
- 各個模組的壓力有所差異,開發者可以採取更加有針對性的實現方案
- 各層的同步實現能夠加快專案程序
3. 研究 VUE 與 Flux 狀態管理的異同
Vue
父子元件的狀態可以通過prop傳遞和emit觸發。對於更復雜的情況,如果應用足夠簡單,可以通過全域性的event bus進行元件間的狀態管理,但是當面對中大型的單頁應用時,Vuex能夠讓我們更好地在元件外部管理狀態。Vuex 是一個專為 Vue.js 應用程式開發的狀態管理模式。它採用集中式儲存管理應用的所有元件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。
Vuex使用單一狀態樹進行狀態管理,更改 Vuex 的 store 中的狀態的唯一方法是提交 mutation,開發者不能直接呼叫一個 mutation handler,而應該以相應的 type 呼叫 store.commit 方法來喚醒。Action 提交的是 mutation,而不是直接變更狀態。mutation是同步操作,而Action可以包含非同步操作。
Flux
Flux將一個應用分成四個部分
- View: 檢視層
- Action(動作):檢視層發出的訊息(比如mouseClick)
- Dispatcher(派發器):用來接收Actions、執行回撥函式
- Store(資料層):用來存放應用的狀態,一旦發生變動,就提醒Views要更新頁面