2025下半年系統(tǒng)架構(gòu)設(shè)計師易混淆知識點你知道嗎?下面將2025下半年系統(tǒng)架構(gòu)設(shè)計師易混淆知識點進(jìn)行了整理,希望能幫助到考生。
2025下半年系統(tǒng)架構(gòu)設(shè)計師易混淆知識點部分內(nèi)容如下:
易混淆點:敏感點和權(quán)衡點
風(fēng)險點:系統(tǒng)架構(gòu)風(fēng)險是指架構(gòu)設(shè)計中潛在的、存在問題的架構(gòu)決策所帶來的隱患。
敏感點:指為了實現(xiàn)某種特定的質(zhì)量屬性,一個或多個構(gòu)件所具有的特性。
權(quán)衡點:影響多個質(zhì)量屬性的特性,是多個質(zhì)量屬性的敏感點。
易混淆點:MVP與MVC
MVP是MVC的變種。
(1)MVP實現(xiàn)了V與M之間的解耦(V不直接使用M,修改V不會影響M)。
MVP更好的支持單元測試(業(yè)務(wù)邏輯在P中,可以脫離V來測試這些邏輯;可以將一個P用于多個V,而不需要改變P的邏輯)。
MVP中V要處理界面事件,業(yè)務(wù)邏輯在P中,MVC中界面事件由C處理。
(2)MVP模式與MVC模式的主要區(qū)別:
在組件耦合度方面:在MVP模式中,視圖并不直接使用模型,它們之間的通信通過Presenter進(jìn)行,從而實現(xiàn)了視圖與模型的分離,而在MVC模式中,視圖直接與模型交互。
在組件分工方面:在MVP模式中,視圖需要處理鼠標(biāo)及鍵盤等觸發(fā)的界面事件,而在MVC模式中這通常是由控制器完成的工作;在MVP模式中,系統(tǒng)核心業(yè)務(wù)邏輯組織集中在Presenter中,而在MVC模式中,相應(yīng)的控制器通常只完成事件的分發(fā)。
在開發(fā)工程化支持方面:MVP模式可更好地支持單元測試,而在MVC模式中,由于模型與視圖綁定,因此難以實施相應(yīng)的單元測試;在MVP模式中,Presenter基于約定接口與視圖和模型交互,可更好地支持組件的重用。
易混淆點:無狀態(tài)服務(wù)和有狀態(tài)服務(wù)
無狀態(tài)服務(wù)(stateless service)對單次請求的處理,不依賴其他請求,也就是說,處理一次請求所需的全部信息,要么都包含在這個請求里,要么可以從外部獲取到(比如說數(shù)據(jù)庫),服務(wù)器本身不存儲任何信息。
有狀態(tài)服務(wù)(stateful service)則相反,它會在自身保存一些數(shù)據(jù),先后的請求是有關(guān)聯(lián)的。
易混淆點:Redis和Memcache
Redis和Memcache對比:
Redis和Memcache都是將數(shù)據(jù)存放在內(nèi)存中,都是內(nèi)存數(shù)據(jù)庫。他們都支持key-value數(shù)據(jù)類型。同時Memcache還可用于緩存其他東西,例如圖片、視頻等等,Redis還支持list、set、hash等數(shù)據(jù)結(jié)構(gòu)的存儲。
Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤中,重啟的時候可以再次加載進(jìn)行使用。Memcache掛掉之后,數(shù)據(jù)就沒了。
災(zāi)難恢復(fù)-Memcache掛掉后,數(shù)據(jù)不可恢復(fù);Redis數(shù)據(jù)丟失后可以恢復(fù)。
在Redis中,并不是所有的數(shù)據(jù)都一直存儲在內(nèi)存中的。這是和Memcache相比一個最大的區(qū)別。當(dāng)物理內(nèi)存用完時,Redis可以將一些很久沒用到的value交換到磁盤。
Redis在很多方面支持?jǐn)?shù)據(jù)庫的特性,可以這樣說他就是一個數(shù)據(jù)庫系統(tǒng),而Memcache只是簡單的K/V緩存。
所以在選擇方面如果有持久方面的需求或?qū)?shù)據(jù)類型和處理有要求的應(yīng)該選擇Redis。
如果簡單的key/value存儲應(yīng)該選擇Memcache。