Flyweight设计模式名称的原因是什么?

时间:2010-12-07 19:16:28

标签: design-patterns flyweight-pattern

我是一名非英语母语人士,并试图更好地理解该设计模式,我对这个词命名模式的起源感兴趣。这个名字的动机是什么?

据我所知,flyweight design pattern关注的是使用共享支持大量细粒度对象的方法。

然而,我发现的特定单词(flyweight)的定义是指重量小于112磅的拳击类别。

那么,为什么以这种方式调用模式呢?

对不起,如果这看起来很愚蠢,但我真的不知道。

3 个答案:

答案 0 :(得分:14)

对于体重较轻的人来说,

Flyweight是一个拳击类别。

Flyweight模式适用于“轻量级”对象(尽管很多)。

答案 1 :(得分:2)

轻量级 - 或轻量级 - 表明创建的类实现为尽可能少的代码(并保持尽可能少的数据)来完成它们的工作。

创建(并实例化并传递它们)并维护它们因此更容易 - 比如提起一个基本上空的盒子。

这与重量级类相反,后者可能包含大量数据并包含大量代码。

答案 2 :(得分:2)

flyweight模式用于最小化在需要创建大量类似对象时使用的内存量。它通过共享实例来实现这一目标。

该名称来源于您提到的重量分类,但指的是少量记忆。也就是说,记忆=体重。