1箱歧、描述軟件架構(gòu)與框架之間的區(qū)別與聯(lián)系
軟件架構(gòu):
軟件架構(gòu)是一個(gè)系統(tǒng)的草圖棍现。軟件架構(gòu)描述的對象是直接構(gòu)成系統(tǒng)的抽象組件。各個(gè)組件之間的連接則明確和相對細(xì)致地描述組件之間的通訊。設(shè)計(jì)軟件架構(gòu)就是把系統(tǒng)分解為一些部件,描述這些部件的職責(zé)及它們之間的協(xié)作行為盈咳。
軟件框架:
軟件框架是面向領(lǐng)域(如 ERP耿眉、計(jì)算領(lǐng)域等)的边翼、可復(fù)用的“半成品”軟件,它實(shí)現(xiàn)了該領(lǐng)域的共性部分鸣剪,并提供了一些定義良好的可變點(diǎn)以保證靈活性和可擴(kuò)展性组底。也就是說軟件框架是領(lǐng)域分析結(jié)果的軟件化,是領(lǐng)域內(nèi)最終應(yīng)用的模板筐骇,是特定語言和技術(shù)的架構(gòu)應(yīng)用解決方案债鸡。
區(qū)別:
軟件架構(gòu)不是軟件,而是關(guān)于軟件如何設(shè)計(jì)的重要決策铛纬。軟件架構(gòu)決策涉及到如何將軟件系統(tǒng)分解成不同的部分厌均、各部分之間的靜態(tài)結(jié)構(gòu)關(guān)系和動(dòng)態(tài)交互關(guān)系等。經(jīng)過完整的開發(fā)過程之后告唆,這些架構(gòu)決策將體現(xiàn)在最終開發(fā)出的軟件系統(tǒng)中棺弊;當(dāng)然晶密,引入軟件框架之后,整個(gè)開發(fā)過程變成了“分兩步走”模她,而架構(gòu)決策往往會(huì)體現(xiàn)在框架之中
框架是一種特殊的軟件稻艰,它并不能提供完整無缺的解決方案,而是為你構(gòu)建解決方案提供良好的基礎(chǔ)侈净∽鹞穑框架是半成品。典型地畜侦,框架是系統(tǒng)或子系統(tǒng)的半成品元扔;框架中的服務(wù)可以被最終應(yīng)用系統(tǒng)直接調(diào)用,而框架中的擴(kuò)展點(diǎn)是供應(yīng)用開發(fā)人員定制的“可變化點(diǎn)”
聯(lián)系:
軟件架構(gòu)是引導(dǎo)如何設(shè)計(jì)軟件框架的重要決策旋膳。它決定了軟件系統(tǒng)如何劃分摇展,在一定程度上描述了被劃分的各個(gè)部分之間的靜態(tài)、動(dòng)態(tài)關(guān)系溺忧。軟件架構(gòu)的決策體現(xiàn)在軟件系統(tǒng)的框架中
2咏连、以你的項(xiàng)目為案例繪制三層架構(gòu)模型圖,細(xì)致到分區(qū)
3鲁森、結(jié)合你程序的結(jié)構(gòu)祟滴,從程序員角度說明三層架構(gòu)給開發(fā)者帶來的便利
三層架構(gòu)降低了耦合度,提高了復(fù)用性歌溉,而且將模塊劃分得更加清晰垄懂,便于分工開發(fā),提高團(tuán)隊(duì)開發(fā)效率
每個(gè)層次之間定義接口痛垛,層次內(nèi)部實(shí)現(xiàn)不關(guān)注草慧,便于層內(nèi)實(shí)現(xiàn)的修改,也有效提高了系統(tǒng)的可擴(kuò)展性
4匙头、研究 VUE 與 Flux 狀態(tài)管理的異同
異:
- Flux數(shù)據(jù)流的順序是:View發(fā)起Action->Action傳遞到Dispatcher->Dispatcher將通知Store->Store的狀態(tài)改變通知View進(jìn)行改變
- Vuex數(shù)據(jù)流的順序是:View調(diào)用store.commit提交對應(yīng)的請求到Store中對應(yīng)的mutation函數(shù)->store改變生成新的state(vue檢測到數(shù)據(jù)變化自動(dòng)渲染)
- Flux是一種前端狀態(tài)管理架構(gòu)思想漫谷,專門解決軟件的結(jié)構(gòu)問題□逦觯基于Flux的設(shè)計(jì)思想舔示,出現(xiàn)了一批前端狀態(tài)管理框架,其中包括了Vuex电抚。Vuex是Flux的一個(gè)實(shí)現(xiàn)惕稻。
- 在Vuex中本身就內(nèi)置State對象,對倉庫的管理更加明確蝙叛。
- Vuex有自動(dòng)渲染的功能俺祠,所以不需要更新。
- Vuex多個(gè)組件調(diào)用一個(gè)狀態(tài),將原來組建與組件之間的狀態(tài)傳遞改成組件與倉庫之間的傳遞蜘渣。
同:
- 都通過store來存儲狀態(tài)妓布。
- 都提供數(shù)據(jù)驅(qū)動(dòng)、可組合搭建的視圖組件宋梧。
- Flux最早提出作為對傳統(tǒng)前端MVC的一種改進(jìn)匣沼,Vuex基于Flux并且吸收了它的一些特點(diǎn)。