軟體架構就是把系統分解為一些部件,描述這些部件的職責及它們之間的協作行為。架構模式(style)是 特定領域常見問題的解決方案。
框架(framework)是整個或部分系統的可重用設計,表現為一組抽象構件及構件例項間互動的方法;另一種定義認為,框架是可被應用開發者定製的應用骨架。前者是從應用方面而後者是從目的方面給出的定義。
兩者區別:軟體架構是語言無關的,便於開發者去理解整個系統,而框架是特定語言和技術的架構應用解決方案;同時,框架是一種或多種架構的組合的實現;
聯絡:軟體架構和框架都是讓開發者聚焦於業務邏輯**而不是技術實現,同時提高模組的內聚性和模組間的耦合性。
三層架構開發有利於前後端分離,方便開發者之間的合作。讓程式模組化成都更高,從而讓程式的邊界更清晰,讓模組的內聚性更高,模組間的耦合性也更好。
flux:views 查詢 stores(而不是 models),並且使用者互動將會觸發 actions,actions 則會被提交到乙個集中的 dispatcher 當中。當 actions 被派發之後,stores 將會隨之更新自己並且通知 views 進行修改。這些 store 當中的修改會進一步促使 views 查詢新的資料。mvc 和 flux 最大的不同就是查詢和更新的分離。在 mvc 中,model 同時可以被 controller 更新並且被 view 所查詢。在 flux 裡,view 從 store 獲取的資料是唯讀的。而 stores 只能通過 actions 被更新,這就會影響 store 本身而不是那些唯讀的資料。
vue:所有 store 中 state 的改變,都放置在 store 自身的 action 中去管理。這種集中式狀態管理能夠被更容易地理解哪種型別的 mutation 將會發生,以及它們是如何被觸發。當錯誤出現時,我們現在也會有乙個 log 記錄 bug 之前發生了什麼。元件不允許直接修改屬於 store 例項的 state,而應執行 action 來分發 (dispatch) 事件通知 store 去改變。
相同點:vue和flux都不是像mvc架構那樣乙個 model 可以被多個 views 讀取,並且可以被多個 controllers 進行更新,而是通過store來解決這個問題。store只能通過action來更新。
不同點:vue中是通過元件執行action來分發時間通知store去改變的。
系統分析與設計 lesson13
1.描述軟體架構與框架之間的區別與聯絡 答 軟體架構 是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。軟體架構描述的物件是直接構成系統的抽象元件。各個元件之間的連線則明確和相對細緻地描述元件之間的通訊。在實現階段,這些抽象元件被細化為實際的元件,比如具體某個類或者物件。在物件導向領域中,...
系統分析與設計 lesson13
研究 vue 與 flux 狀態管理的異同 flux 是 facebook 系統化的一套響應式程式設計架構方案,用於解決 mvc 中某些依賴複雜的情況。vuex 其實是乙個針對 vue 特化的 flux,主要是為了配合 vue 本身的響應式機制。當然吸取了一些 redux 的特點,比如單狀態樹和便於...
系統分析與設計Lesson13(第八次作業)
軟體架構 軟體架構是乙個系統的草圖,把系統分解為一些部件,描述這些部件的職責及它們之間的協作行為。架構是一組重要決策,其中涉及軟體系統的組織,對結構元素及其組成系統所籍介面的選擇,這些元素特定於其相互協作的行為,這些結構和行為元素到規模更大的子系統的組成,以及指導該組織結構 這些元素及其介面 協作和...