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修飾,通過反射機制還是能在外部...