我不是以英语为母语的人,为了更好地理解这种设计模式,我对命名模式这个词的由来很感兴趣。这个名字的动机是什么?
据我所知,flyweight design pattern关注的是一种使用共享来支持大量细粒度对象的方法。
然而,我找到的那个特定单词(flyweight)的定义指的是体重小于112磅的拳击类别。
那么,为什么以这种方式调用该模式呢?
很抱歉这看起来很愚蠢,但我真的一无所知。
发布于 2010-12-08 03:18:48
Flyweight是一个拳击类别,适合体重较轻的人。
Flyweight模式适用于“轻量级”对象(尽管它们中有许多)。
发布于 2010-12-08 03:23:51
轻量级--或flyweight --建议创建的类实现尽可能少的代码(并保存尽可能少的数据)来完成它们的工作。
因此,创建(和实例化,并传递它们)和维护它们更容易--就像抬起一个基本上空的盒子一样。
这与重量级类形成对比,重量级类可能包装大量数据并包含大量代码。
发布于 2010-12-08 03:46:09
当您需要创建大量类似对象时,flyweight模式用于最小化内存使用量。它通过共享实例来实现这一点。
这个名称来自您提到的权重分类,但指的是内存很少。也就是说,内存=权重。
https://stackoverflow.com/questions/4380658
复制相似问题