目前分類:Design Pattern (3)

瀏覽方式: 標題列表 簡短摘要

 

定義 :

確保一個類別只有一個實體,並給它一個存取的全域點(Global Point)

 

使用案例 :

文章標籤

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

這學期剛上完Design Pattern的課程,使用的教科書是 J. Vlissides. 1998. Pattern Hatching: Design Patterns Applied. Addison-Wesley Longman Ltd. 這本書的作者跟老師是很好的朋友,Gang of Four之一,作者提到書中所有的設計都離不開兩大宗旨, Favor object composition over class inheritanceProgram to interface not implementation ,這篇會稍微介紹紀錄一下兩個要點目的是什麼,之後再慢慢介紹其他的pattern。

 

Favor object composition over class inheritance

當需要重用程式碼時,比較好的方法應該是利用 Composition 而非 Inheritance,利用 Composition 物件只會透過自己 interface 訪問自己的功能,不會打破封裝,關聯性也較低。

 

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

Observer pattern 觀察者模式 (訪問者模式): 

這個模式的基本想法如下:首先我們擁有一個由許多對象構成的對象結構,這些對象的都擁有一個accept方法用來接受訪問者對象;訪問者是一個接口,它擁有一個visit方法,這個方法對訪問到的對象結構中不同類型的元素作出不同的反應;在對象結構的一次訪問過程中,我們遍歷整個對象結構,對每一個元素都實施accept方法,在每一個元素的accept方法中回調訪問者的visit方法,從而使訪問者得以處理對象結構的每一個元素。我們可以針對對象結構設計不同的實在的訪問者類來完成不同的操作。 通常使用在訂閱或需要推播的系統上。

 

範例

Class diagram : 

文章標籤

橘子亂說話 發表在 痞客邦 留言(0) 人氣()