1. 程式人生 > >圖解設計模式讀書筆記(十七)——Flyweight(輕量/享元)模式

圖解設計模式讀書筆記(十七)——Flyweight(輕量/享元)模式

使用場景:

物件可以複用/共享的情況,只new一次,然後將物件例項儲存起來,下次需要使用的時候,先檢視該物件是否已經存在,過存在則直接返回,不存在再new。

類關係圖

一般有一個FlyweightFactory負責建立並存儲需要的Flyweight物件,核心程式碼如下:

Flyweight flyweight = pool.get(name);
if(flyweight == null) {
    flyweight = new Flyweight(name);
    pool.put(flyweight);
}

Factory一般使用singleton。

模式比價簡單,使用場景比較明確。