iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

0
Software Development

你終究都要學設計模式的,那為什麼不一開始就學呢?系列 第 43

Day43. 蠅量模式

本文同步更新於blog

Flyweight Pattern

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

進而減少記憶體使用量。


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

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

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


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

缺點
程式碼複雜度提高。


與其他模式的比較:

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


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


上一篇
Day42. 範例:仿真Git (備忘錄模式)
下一篇
Day44. 範例:文字積木 (蠅量模式)
系列文
你終究都要學設計模式的,那為什麼不一開始就學呢?57

尚未有邦友留言

立即登入留言