設計模式 結構型之享元 flyweight 模式

2021-09-27 04:09:54 字數 625 閱讀 9988

定義

使用場景

uml圖

**實現

// 共享物件

public

class

flyweight

public

void

method()

}//池子工廠

public

class

flyweightfactory

//公有獲取單例

public

static flyweightfactory getfacttory()

//獲取共享物件: 使用synchronized 保證執行緒安全

public

synchronized flyweight getflyweight

(string key)

return flyweight;

}//池子元素總數

public

intsize()

}public

class

client

}

總結

設計模式 結構型之享元模式

如果乙個類的大量例項的部分屬性都相同,就把這些屬性抽離成新類,這樣的類結構叫享元模式 享元模式就是不同例項的成員變數共享同乙個例項,降低記憶體占用 但是由於享元模式快取的物件不會被jvm 除非驗證過有效能提公升,否則不要濫用 享元模式由3部分組成 享元類 public class flyweight...

設計模式 結構型 享元模式

如果乙個應用程式使用了大量的物件,而大量的這些物件造成了很大的儲存開銷時就應該考慮使用 還有物件的大多數狀態可以外部狀態,如果刪除物件的外部狀態,那麼可以用相對較少的共享物件取代很多組物件。public class flyweighttest class flyweightfactory publi...

享元模式(結構型)

在系統中,當需要大量重複的細粒度物件時,我們往往可以只維護乙個例項 這樣不僅避免了建立大量重複物件對資源的浪費,也易於我們的維護和拓展。1 定義 運用共享技術有效地支援大量細粒度的物件。2 類圖結構 拿 建設例子來說,有時候,我們建立的一系列 流量小 都是結構十分相似 功能又相近的,這種情況下,往往...