結構型模式2

2021-10-09 17:38:35 字數 972 閱讀 6024

門面模式

目的:定義一組高層介面讓子系統更易用。

舉例: a,提供了 a、b、c、d 四個介面。系統 b 完成某個業務功能,需要呼叫 a 系統的 a、b、d 介面。利用門面模式,我們提供乙個包裹 a、b、d 介面呼叫的門面介面 x,給系統 b 直接使用。

應用:易用,符合介面隔離和迪公尺特法則。

效能好,如果呼叫者要走網路,把三個介面一次性呼叫完,顯然效能更高

解決事務問題,要麼都成功,要麼都失敗。

ps:介面:太大會導致介面不可復用,太小會導致介面不易用。

可以把門面介面和底層介面放在一起,最好是重新開一層。

組合模式

目的:把物件組織成樹形,可以對集合和元素做統一處理,非常方便。

關鍵字:樹形。

舉例: 目錄和檔案;部門和員工。

基類 class a

元素類 class ele:a

集合類 class set:a

client 主要對set操作

享元模式

共享的單元的簡稱

目的,節省記憶體

前提,享元物件是不可改變物件。

原理,如果這些重複的物件是不可變物件,在記憶體中只保留乙份例項,供多處**引用(快取進工廠)

舉例1.下棋的遊戲房間;每個棋盤的中的棋子的 id 顏色 名稱 可以做為 享元類;只需要改座標,所以享元類+座標 = 棋子類

所以,10000個棋盤,可以共享這些棋子,節省不少記憶體。

2.文字編輯器,享元類(字型,顏色,格式)+ 字型別 = 字類

ps:有點類似 單例的變體   : 多例;但是享元模式是為了物件復用,節省記憶體,而多例模式是為了限制物件的個數。

享元的快取,是為了復用;其他快取,為了復用。

享元的復用,是共享;物件池的復用,是需要先釋放,在使用

比如字串常量,就是共享單元。

寫時拷貝,類似共享單元。

缺點:如果,共享單元被用到頻率很低,或者用了馬上就釋放,那麼反而會浪費記憶體。

建立型模式,結構型模式,結構型模式

為了閱讀方便,本文使用 全文手工轉換 轉換內容 本文採用電腦和資訊科技 顯示 關閉 字詞轉換 說明 字詞轉換是中文維基的一項自動轉換,目的是通過電腦程式自動消除繁簡 地區詞等不同用字模式的差異,以達到閱讀方便。字詞轉換包括全域性轉換和手動轉換,本說明所使用的標題轉換和全文轉換技術,都屬於手動轉換。如...

結構型模式

結構型模式可以分為類結構型模式和物件結構型模式 類結構型模式關心類的組合,由多個類可以組合成乙個更大的系統,在類結構型模式中一般只存在繼承關係和實現關係。物件結構型模式關心類與物件的組合,通過關聯關係使得在乙個類中定義另乙個類的例項物件,然後通過該物件呼叫其方法。根據 合成復用原則 在系統中盡量使用...

結構型模式

接著上次建立型模式,還是以手機為例來描述設計模式中的結構性模式。充電寶有華為的,有小公尺的,也有魅族的,可是不管我們手中的手機是什麼牌子的,只要有那根線,就可以用各種的充電寶。那根線就像介面卡。似乎並不太合理 我們的手機,好多人都會選擇買個手機殼,還有鋼化膜,以此來保護手機,也可能是為了美觀。所以手...