- 描述軟件架構與框架之間的區別與聯繫
1.軟件架構與框架之間的區別與聯繫
軟件架構是一個系統的草圖。軟件架構描述的對象是直接構成系統的抽象組件,描述這些部件的職責及它們之間的協作行爲。
框架是特定語言和技術的架構應用解決方案,是某種半成品,供人選用來完成自己的作品,一般是成熟的不斷升級供人使用的可用成品。(例如JavaScript)
區別:架構是針對整個領域,主要是概念和設計,而框架一般更細緻且開發到了某個層次。
聯繫:框架也可以看做是架構的實體化,在抽象層次上對軟件開發起到指導性作用。
2.以你的項目爲案例
- 繪製三層架構模型圖,細緻到分區
- 結合你程序的結構,從程序員角度說明三層架構給開發者帶來的便利
1.開發人員可以只關注整個結構中的其中一層。
2.可以降低層與層之間的依耐性,也可以輕鬆用新的實現代替原有的該層。
3.項目分工清楚,結構清晰,後期維護成本低。
4.代碼複用容易。
- 研究 VUE 與 Flux 狀態管理的異同
不同:
Vue中狀態管理有一個單獨的模式, 叫 Vuex。其中主要分爲以下幾類: state, getters, mutations, actions, modules
- state: 作爲數據源的存在, 用於存放組件之間的共享狀態
- getters: 篩選state的派生狀態, 方便其他組件使用它。
- mutations: 通過提交mutations,來更改state中的狀態, 這也是更改state中狀態的唯一方法。
- actions: 和mutation相似,但是支持異步操作。 Action也可以改變state中的狀態, 不過是通過提交mutation來實現
Flux將應用分爲四個部分: View, Action, Dispatcher, Store
這四個部分的功能如下:
- View:視圖層
- Action:接收視圖層傳遞的消息, 並執行相應的動作
- Dispatcher:用來接收Actions,執行回調函數。
- Store:數據層, 這裏用來存放應用的狀態,當這裏發生變化時, 在視圖層上相應的展示出來
相同:
都是可以對大型業務中的複雜數據流進行流動管理,Flux基於MVC模式,而Vuex則是部分類似於Flux。兩者都是通過store儲存數據,Vue的actions和Flux的Store類似。