享元模式 享元模式英語Flyweight Pattern是一種軟體設計模式它使用物件用來儘可能減少記憶體使用量於相似物件中分享儘可能多的資訊當大量物件近乎重複方式存在因而使用大量記憶體時此法適用通常物件中的部分狀態state能夠共享常見做法是把它們放在資料結構外部當需要使用時再將它們傳遞給享元 典型的享元模式的例子為文書處理器中以圖形結構來表示字符一個做法是每個字形有其字型外觀 字模 metrics 和其它格式資訊但這會使每個字符就耗用上千位元組取而代之的是每個字符參照到一個共享字形物件此物件會被其它有共同特質的字符所分享只有每個字符文件中或頁面中的位置才需要另外儲存