享元模式用於減少建立物件的數量,以減少記憶體占用和提高效能。享元模式嘗試重用現有的同類物件,如果未找到匹配的物件,則建立新物件。
享元模式用得比較多的是池化技術,如常量池,執行緒池,連線池等等。
import j**a.util.hashmap;
import j**a.util.map;
/** * 享元模式
*/public class demo
// 從快取拿,沒有就建立
public static person getperson(string cardno)
return person;
}}class person
}
truefalse
11 享元模式
一 享元模式 享元設計模式通過為相似物件引入資料共享來最小化記憶體使用,提公升效能。享元模式定義如下 使用共享物件支援大量細粒度物件。大量細粒度的物件的支援共享,可能會涉及這些物件的兩類資訊 內部狀態資訊和外部狀態資訊。內部狀態資訊就是可共享出來的資訊,它們儲存在享元物件內部,不會隨著特定環境的改變...
設計模式 11 享元模式
舉個圍棋的例子,圍棋的棋盤共有361格,即可放361個棋子。現在要實現乙個圍棋程式,該怎麼辦呢?首先要考慮的是棋子棋盤的實現,可以定義乙個棋子的類,成員變數包括棋子的顏色 形狀 位置等資訊,另外再定義乙個棋盤的類,成員變數中有個容器,用於存放棋子的物件。下面給出 表示 棋子的定義,當然棋子的屬性除了...
設計模式 11 享元模式 Flyweight
轉 問題 在物件導向系統的設計何實現中,建立物件是最為常見的操作。這裡面就有乙個問題 如果乙個應用程式使用了太多的物件,就會造成很大的儲存開銷。特別是對於大量輕量級 細 粒度 的物件,比如在文件編輯器的設計過程中,我們如果為沒有字母建立乙個物件的話,系統可能會因為大量的物件而造成儲存開銷的浪費。例如...