定義:提取類似之處做爲共享技術對象
優:接口
相同對象只要保留一份,下降了系統中對象的數量程序
缺:方法
1.爲了使對象共享,須將一些不能共享的狀態外部化,將增長程序的負責性技術
2.讀取享元模式的外部狀態,使得運行時間稍變長客戶端
狀態:時間
1.內部狀態:即不會隨着環境的改變而改變的可共享部分參數
2.外部狀態:隨着環境改變而改變的不可共享的部分ab
結構:管理
1.抽象享元角色(Flyweight):是全部具體享元類的基類,爲具體的享元規範須要實現的公共接口,非享元的外部狀態以參數的形式經過方法傳入
2.具體享元角色(Concrete Flyweight):實現1的接口
3.非享元角色(Unsharable Flyweight):是外部狀態
4.享元工廠角色(Flyweight Factory):建立和管理享元角色,根據客戶端須要的對象,將其返回