享元定義
**實踐
/**
* 享元實體物件
* 乙個學科可以包含多個學生(姓名,**)
* 所以學科為內部不可變狀態,而學生(姓名,**)為外部可變狀態
* * @author: zrh
* @date: 2021/2/3 15:51
*/@data
public class xianyuanmodel
}
/**
* 享元實體工廠類
* * @author: zrh
* @date: 2021/2/3 15:51
*/@slf4j
public class xianyuanmodelfactory ", model);
return model;
}xianyuanmodel model = new xianyuanmodel(subject);
pool.put(subject, model);
model.setname(name);
model.setphone(phone);
log.info("new乙個新物件:{}", model);
return model;
}}
/**
* 享元模式測試例項
** @param args
*/public static void main(string args)
new乙個新物件:xianyuanmodel(subject=數學, name=小明, phone=155555555555)
new乙個新物件:xianyuanmodel(subject=英語, name=小王, phone=155555555555)
使用物件池獲取物件:xianyuanmodel(subject=數學, name=小華, phone=155555555555)
new乙個新物件:xianyuanmodel(subject=語文, name=小李, phone=155555555555)
使用物件池獲取物件:xianyuanmodel(subject=語文, name=小天, phone=155555555555)
實際使用場景和優劣勢比較 設計模式 享元
運用共享技術有效地支援大量地細粒度物件。享 代表共享 元 基本單元 關鍵概念 內部狀態和外部狀態 以下情況都成立時方可使用 乙個應用程式使用了大量地物件 大量地物件造成了儲存開銷 物件地大多數狀態可變為外部狀態 刪除物件地外部狀態,可以使用相對較少地共享物件取代很多組物件 應用程式不依賴於物件表示 ...
設計模式(享元模式)
享元模式是設計模式中少數幾個已提高系統效能為目的模式之一。它的核心思想是 如果系統存在多個 相同的物件,那麼只需要共享一分物件的拷貝,而不必為每一次使用都建立新的物件。當有物件被大量復用時,特別是重量級的物件復用可以使用享元模式來提高系統效能。其優點如下 1.可以節省重複建立物件的開銷,因為被享元模...
設計模式 享元模式
享元模式flyweight flyweight 模式是乙個提高程式效率和效能的模式 會大大加快程式的執行速度。把物件中使用比較多,具有共同點的,拿出來做成乙個共享類,這樣就行成了共享模式。如 integer 物件在 128 127 使用的是同乙個物件。在這之間是共享的。享元中的角色 flyweigh...