設計模式4

2021-06-16 11:33:08 字數 513 閱讀 6107

observer模式

這個模式理解起來應該算很簡單。定義了一種1對多的關係。當其中「1」描述的物件變化時,「多」描述的多個物件都能得到通知並且被自動更新。

我們把「1」稱為subject,「多」稱為observer。如何讓他們之間發生關係。使用組合。

在subject中,我們擁有乙個observer引用的列表,和3個成員函式,

addobserver( observer* ),   新增乙個observer

deleteobserver( observer* ),刪除以前加入的observer

notify()。                             發生變化時,呼叫的通知函式

它的c++的具體實現:

/class subject

int deleteobserver( observer* obs )

int notify()}}

///class observer

}事件監聽使用的模式,就是observer模式。

設計模式 4 外觀模式

facade外觀模式,是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。在這裡我想舉乙個例子 比如,現在有一輛汽車,我們 客戶程式 要啟動它,那我們就要發動引擎 子系統1 使四個車輪 子系統2 ...

設計模式 4 單例設計模式

所謂類的單例設計模式,就是採取一定的方法保證整個軟體系統中,對某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項的方法 靜態方法 餓漢式 靜態變數 1.優點 寫法簡單,就是在類裝載的時候完成例項化。避免了執行緒同步問題 2.缺點 1 在類裝載的時候完成例項化,沒有達到 lazy loadi...

設計模式4 單例模式

保證乙個類僅有乙個例項,並提供乙個訪問他的全域性訪問點。所有類都有構造方法,假如不對他進行編碼,系統會生成空的public 的構造方法,外部類就能建立這個類的物件。為了不讓其他類能new出這個類的例項,所以需要寫乙個private 的構造方法 其實即使使用private修飾,通過反射機制還是能在外部...