原创 設計模式筆記-結構型模式之四--Decorator

 意圖: 動態的給一個對象添加一個額外的職責 適用性: 1在不影響其它對象的情況下,以動態透明的方式給單個對象添加職責 2處理可以撤銷的職責 3當不能採用生成子類的方法進行擴充時 效果: 1比靜態繼承更靈活,用添加和分離的方法,用裝飾在

原创 設計模式筆記--行爲型模式之四-Iterator

意圖: 提供一種方法順序訪問一個聚合對象中各個元素,而又不需要暴露該對象的內部表示。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

原创 設計模式--結構型模式之七-Proxy

意圖: 爲其他對象提供一種代理以控制這個對象的訪問 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  適用性: 1遠程代理:爲一個對

原创 設計模式筆記--行爲型模式之五--中介者

意圖: 用一箇中介對象來封裝一系列對象交互.中介者使各對象不需要顯式的相互引用,從而使其耦合鬆散,而且可以獨立改變他們之間的交互 適用性: 1一組對象以定義良好但是複雜的方式進行通信。產生的相互依賴關係結構混亂且難以理解 2一組對象引用其

原创 設計模式--行爲型模式之一--Chain of Responsibility 行爲鏈

  意圖: 使多個對象都有機會處理請求,從而避免請求的發送者和接收者之間的耦合。將這些對象連成一條鏈,並沿着這條鏈傳遞請求,直到有一個對象處理它爲止。 <?xml:namespace prefix = o ns = "urn:schem

原创 設計模式筆記--行爲型模式-之三 解釋器

  意圖: 給定一個語言,定義它的文法的一種表示,並定義一個解釋器模式,這個解釋器使用該表示來解釋語言中的句子。 適用性: 當一個語言需要解釋執行,並且可將語言中的句子表示爲一個抽象語法樹時,可使用解釋器模式。 效果: 1易於改變和擴展

原创 設計模式筆記--行爲型模式之二--Command

  意圖: 將一個請求封裝爲一個對象,從而使你可用不同的請求對客戶進行參數化; 對請求排隊或記錄請求日誌,以及可支持的撤銷操作 <?xml:namespace prefix = o ns = "urn:schemas-microsoft

原创 設計模式筆記--結構型模式之三--組合模式 Composite

意圖: 將對象組合成樹形結構以表示部分-整體的層次結構,使得用戶對單個對象和組合對象的使用具有一致性 適用性: 1表示對象的部分-整體層次結構 2希望用戶忽略組合對象與單個對象的不同 <?xml:namespace prefix = o

原创 設計模式--行爲型模式之八--State

意圖: 允許一個對象在其內部狀態改變時改變他的行爲 適用性: 1一個對象的行爲取決於它的狀態,並且它必須在運行時刻根據狀態改變它的行爲 2一個操作中含有龐大的多分支的條件語句,且這些分支依賴於該對象的狀態。這種模式將每一個條件分支放入一個

原创 設計模式筆記--行爲型模式之十

意圖: 表示一個作用於某對象結構中的各元素的操作。可以在不改變元素的類的前提下定義作用於這些元素的新操作 適用性: 1一個對象結構包含很多類對象,它們有不同的接口,需要對這些對象實施一些依賴於具體類的操作 2需要對一個對象結構中的對象進行

原创 設計模式筆記--行爲型模式之六--Memento 備忘錄

  意圖: 在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態,這樣以後就可將該對象恢復到原先保存的狀態 <?xml:namespace prefix = o ns = "urn:schemas-microsof

原创 設計模式--結構型模式之六-Flyweight享元

  意圖: 運用共享技術有效的支持大量細粒度對象 適用性: 1一個應用程序使用了大量的對象 2由於使用大量的對象造成很大的開銷 3對象的大多數狀態都可變爲外部狀態 4如果刪除對象的外部狀態,可以用相對較少的共享對象,取代很多組對象 5應

原创 設計模式筆記--結構型模式之二--橋接 Bridge

意圖: 將抽象部分與它的實現部分分離,使它們都可以獨立的變化 適用性: 1不希望在抽象和它的實現部分之間有一個固定的綁定關係 2類的抽象以及它的實現方法都應該可以通過生成子類的方法加以擴充 3對一個抽象的實現部分的修改應對客戶不產生影響

原创 設計模式筆記--結構型模式之一適配器 adapter

 意圖: 將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作 適用性: 1想使用一個已經存在的類,而它的幾口不附和要求 2創建一個可以複用的類,該類可以與其他不相關的

原创 設計模式筆記--創建型模式之五--單件 Singleton

單件-SINGLETON 適用性: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  1當類只能有一個實例而且客戶可以從一個衆所周知