1. 程式人生 > >系統分析與設計第八次作業

系統分析與設計第八次作業

一.描述軟體架構與框架之間的區別與聯絡

軟體架構:軟體架構是一個系統的草圖。軟體架構描述的物件是直接構成系統的抽象元件。各個元件之間的連線則明確和相對細緻地描述元件之間的通訊。在實現階段,這些抽象元件被細化為實際的元件,比如具體某個類或者物件。在面向物件領域中,元件之間的連線通常用介面來實現。

軟體框架:​軟體框架是面向領域(如ERP、計算領域等)的、可複用的“半成品”軟體,它實現了該領域的共性部分,並提供了一些定義良好的可變點以保證靈活性和可擴充套件性。也就是說軟體框架是領域分析結果的軟體化,是領域內最終使用的模板。

兩者的區別:

框架是軟體,架構不是軟體。

框架是一種特殊的軟體,它並不能提供完整無缺的解決方案,而是為你構建解決方案提供良好的基礎。框架是半成品。典型地,框架是系統或子系統的半成品;框架中的服務可以被最終應用系統直接呼叫,而框架中的擴充套件點是供應用開發人員定製的“可變化點”

軟體架構不是軟體,而是關於軟體如何設計的重要決策。軟體架構決策涉及到如何將軟體系統分解成不同的部分、各部分之間的靜態結構關係和動態互動關係等。經過完整的開發過程之後,這些架構決策將體現在最終開發出的軟體系統中;當然,引入軟體框架之後,整個開發過程變成了“分兩步走”,而架構決策往往會體現在框架之中。

兩者的聯絡:

軟體架構是引導如何設計軟體框架的重要決策。它決定了軟體系統如何劃分,在一定程度上描述了被劃分的各個部分之間的靜態、動態關係。軟體架構的決策體現在軟體系統的框架中。總而言之,軟體架構指導軟體框架的設計,而軟體框架是一種或多種架構的組合的實現。

二.以你的專案為案例:

①繪製三層架構模型圖,細緻到分割槽


②結合你程式的結構,從程式設計師角度說明三層架構給開發者帶來的便利  

    總的來說,使用三層架構可以做到關係分離、高階服務與低階服務分離、特定於應用的服務與一般性服務分離。三層架構可以減少耦合和依賴性、增強內聚性、提高潛在的複用性並且使概念更加清晰。從程式設計師的角度來說,底層的複用性較高,減少了開發者重複開發的必要,增強了程式碼的複用性,同時通過邏輯劃分,大大降低了開發的難度。

三.研究 VUE 與 Flux 狀態管理的異同

相同之處:

Flux 思想是為了解決傳統 MVC 架構不能有效解決大型業務中複雜資料流的管理問題而產生的一種軟體架構思想。VUE 和 Flux 的狀態管理都是基於 Flux 思想的有效實現,通過對資料流進行嚴格管理來規範資料在 Web 應用中流動方式的框架。

不同之處:

        Flux將一個應用分為四個部分:

            ①View: 檢視層

            ②Action:檢視層發出的訊息(比如mouseClick)

            ③Dispatcher(派發器):用來接收Actions、執行回撥函式

            ④Store(資料層):用來存放應用的狀態,一旦發生變動,就提醒Views要更新頁面

        Flux的資料流順序:

            View發起Action -> Action傳遞到Dispatcher -> Dispatcher將通知Store -> Store的狀態改變通知View進行改變

        Vue狀態管理核心:

    state:存放多個元件共享的狀態(資料)

    mutations:存放更改state裡狀態的方法,用於變更狀態,是唯一一個更改狀態的屬性

 getters:將state中某個狀態進行過濾,然後獲取新的狀態,類似於vue中的computed

 actions:用於呼叫事件動作,並傳遞給mutation

 modules:主要用來拆分state

        Vue的資料流順序:

            View呼叫store.commit提交對應的請求到Store中對應的mutation函式   ->   store改變生成新的state(vue檢測到資料變化自動渲染)