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