iT邦幫忙

第 12 屆 iThome 鐵人賽

1

本文同步更新於blog

Flyweight Pattern

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

進而減少記憶體使用量。


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

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

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


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

缺點:
程式碼複雜度提高。


與其他模式的比較:

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


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


上一篇
Day42. 範例:仿真Git (備忘錄模式)
下一篇
Day44. 範例:文字積木 (蠅量模式)
系列文
你終究都要學設計模式的,那為什麼不一開始就學呢? 共 57 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言