2010-12-07 34 views
17

我是非英語母語的人,爲了更好地理解這種設計模式,我對命名模式的單詞的來源感興趣。這個名字的動機是什麼?Flyweight Design Pattern的名稱是什麼原因?

據我所知flyweight design pattern是關於一種使用共享支持大量細粒度對象的方法。

但是,我發現的特定單詞(輕量級)的定義是指拳擊類別的重量小於112磅。

那麼,爲什麼這種模式被調用?

對不起,如果這看起來很愚蠢,但我真的不知道。

+3

閱讀解釋:我明白,但很失望。原來,這只是另一個體育比喻,而那是一個窮人。我一直認爲這意味着與壓力=體重/面積有關的東西,因爲它讓我想到了所有那些攜帶一個分擔體重的小物體,並且因爲它是分佈式的而沒有感受到太大的壓力。 – 2011-07-26 14:55:10

+0

直到我讀到這篇文章時,我一直在用機械飛輪來混淆flyweight這個詞,並想知道它是如何表達任何類比的。 – 2014-12-16 12:13:42

回答

12

Flyweight是一個拳擊類,爲輕量級人。

享元模式是針對「輕量級」對象(儘管其中很多)。

1

輕量級或輕量級 - 表明這些類創建的實現儘可能少的代碼(並儘可能少的數據)來完成他們的工作。因此創建(並實例化並傳遞它們)並維護它們更容易 - 就像提升一個基本上空的盒子一樣。

這與可能包裝大量數據幷包含大量代碼的重量級類形成鮮明對比。

0

當您需要創建大量類似的對象時,flyweight模式用於最小化使用的內存量。它通過共享實例來實現這一點。

這個名字來源於你提到的體重分類,但是指的是少量的記憶。也就是說,記憶=體重。

相關問題