2010-12-07 33 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模式用于最小化使用的内存量。它通过共享实例来实现这一点。

这个名字来源于你提到的体重分类,但是指的是少量的记忆。也就是说,记忆=体重。