結構型模式 flyweight 享元

2021-06-22 11:39:09 字數 361 閱讀 6119

1. 意圖

運用共享技術有效地支援大量細粒度的物件。

2. 適用性

flyweight模式的有效性很大程度上取決於如何使用它以及在何處使用它。當以下情況都

立時使用flyweight模式:

• 乙個應用程式使用了大量的物件。

• 完全由於使用大量的物件,造成很大的儲存開銷。

• 物件的大多數狀態都可變為外部狀態。

• 如果刪除物件的外部狀態,那麼可以用相對較少的共享物件取代很多組物件。

• 應用程式不依賴於物件標識。由於flyweight物件可以被共享,對於概念上明顯有別的對

象,標識測試將返回真值。

大小: 5.4 kb

Flyweight享元(結構型模式)

物件導向的代價 物件導向很好的解決了系統抽象性的問題,但在某些特殊的應用中,由於物件的數量太大,採用物件導向會給系統帶來難以承受的記憶體開銷。動機 motivation 採用純粹物件方案的問題在於大量細粒度的物件會很快充斥在系統中,從而帶來很高的執行時代價 主要指記憶體需求方面的代價。如何在避免大量...

Flyweight享元模式(結構型模式)

目錄 意圖 intention 結構 structure 兩個狀態 flyweight模式的幾個要點 適用場景 example 運用共享技術有效地支援大量細粒度的物件。其中,flyweight抽象享元物件 為具體享元角色規定了必須實現的方法,而外部狀態是以引數的形式傳入此方法。concretefly...

享元模式(Flyweight) 結構型

1 基礎知識 定義 提供了減少物件數量從而改善應用所需的物件結構的方式。特徵 運用共享技術有效支援大量細粒度的物件。本質 分離與共享。使用場景 1 如果乙個應用程式使用了大量的細粒度物件,可以使用享元模式來減少物件數量。如果由於使用大量的物件,造成很大的儲存開銷,可以使用享元模式來減少物件數量,並節...