{C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}
享元模式應當在什么情況下使用
當以下所有的條件都滿足時,可以考慮使用享元模式:
滿足以上的這些條件的系統可以使用享元對象。
最后,使用享元模式需要維護一個記錄了系統已有的所有享元的表,而這需要耗費資源。因此,應當在有足夠多的享元實例可供共享時才值得使用享元模式。
享元模式的優點在于它大幅度地降低內存中對象的數量。但是,它做到這一點所付出的代價也是很高的:
享元模式的應用
享元模式在編輯器系統中大量使用。一個文本編輯器往往會提供很多種字體,而通常的做法就是將每一個字母做成一個享元對象。享元對象的內蘊狀態就是這個字母,而字母在文本中的位置和字模風格等其他信息則是外蘊狀態。比如,字母a可能出現在文本的很多地方,雖然這些字母a的位置和字模風格不同,但是所有這些地方使用的都是同一個字母對象。這樣一來,字母對象就可以在整個系統中共享。
posted on 2006-01-03 15:50 夢在天涯 閱讀(723) 評論(0) 編輯 收藏 引用 所屬分類: Design pattern