24

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

据我所知,享元设计模式关注的是一种使用共享来支持大量细粒度对象的方法。

但是,我为该特定词(蝇量级)找到的定义是指重量小于 112 磅的拳击类别。

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

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

4

3 回答 3

17

Flyweight是一个拳击类别,适用于轻量级的人。

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

于 2010-12-07T19:18:48.207 回答
3

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

因此,创建(实例化和传递它们)和维护它们更容易——就像举起一个基本上是空的盒子一样。

这与可能包装大量数据并包含大量代码的重量级类形成对比。

于 2010-12-07T19:23:50.873 回答
3

当您需要创建大量相似对象时,享元模式用于最小化内存使用量。它通过共享实例来实现这一点。

该名称源自您提到的重量分类,但指的是少量内存。也就是说,内存=重量。

于 2010-12-07T19:46:08.630 回答