設計模式2-7:享元模式

What

享元模式(Flyweight Pattern)主要用於減少創建對象的數量,以減少內存佔用和提高性能。它提供了減少對象數量從而改善應用所需的對象結構的方式。

享元模式嘗試重用現有的同類對象,如果未找到匹配的對象,則創建新對象。我們將通過創建 5 個對象來畫出 20 個分佈於不同位置的圓來演示這種模式。由於只有 5 種可用的顏色,所以 color 屬性被用來檢查現有的 Circle 對象。

運用共享技術有效地支持大量細粒度的對象

Why

在有大量對象時,有可能會造成內存溢出,我們把其中共同的部分抽象出來,如果有相同的業務請求,直接返回在內存中已有的對象,避免重新創建。

  • 大大減少對象的創建
  • 降低系統的內存,使效率提高

How

用唯一標識碼判斷,如果在內存中有,則返回這個唯一標識碼所標識的對象。
用 HashMap 存儲這些對象。
這些類必須有一個工廠對象加以控制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章