享元模式:flyweight pattern
享元模式包括兩種狀態,內蘊狀態和外蘊狀態。他的種類有單純享元模式和復合享元模式,結構圖如下:
我們從結構種可以看出,復合享元模式是由單純享元模式和合成模式組合而成的。
享元模式有四種角色:抽象享元角色,具體享元角色,享元工廠角色,和客戶角色。享元模式中的享元工廠角色可以通過單例模式來實現。
使用條件:
一個系統中有大量的對象,這些對象消耗大量的內存,這些對象大部份是可以外部化的,這些對象可以按照內蘊狀態分成很多的組,當把外蘊對象從對象中踢除時,每一個組都可以僅用一個對象代替,軟件系統不依賴這些對象的身份,換言之,這些對象可以是不可分辨的。不過他要使用一個維護記錄了系統已有的所以享元的表,而這需要消耗資源。因此應當在有足夠多的享元的實例可提供共享實才值得使用享元模式。
posted on 2005-08-11 22:37
sky 閱讀(265)
評論(0) 編輯 收藏