蠅量模式

Flyweight Pattern

又稱為享元模式,於相似物件中共享儘可能多的資訊,

進而減少記憶體使用量。

Example: 文字積木


蠅量模式會將類別分為兩類:
分別是工廠類別 (Factory)蠅量類別 (Flyweight)

透過區分出程式碼的內部狀態外部狀態
來找出可以共用的程式碼。

將它抽離成蠅量類別,其狀態是不可變的 (immutable)


優點
當擁有許多相似物件時,可節省大量記憶體。

缺點
程式碼複雜度提高。


與其他模式的比較:

[單例模式]:
兩者的精神皆是透過共用已創建的實例,來節省資源。
但蠅量模式的實例狀態是不可變的


ʕ •ᴥ•ʔ:工廠模式與單例模式的聯合應用技。