我是一名非英语母语人士,并试图更好地理解该设计模式,我对这个词命名模式的起源感兴趣。这个名字的动机是什么?
据我所知,flyweight design pattern关注的是使用共享支持大量细粒度对象的方法。
然而,我发现的特定单词(flyweight)的定义是指重量小于112磅的拳击类别。
那么,为什么以这种方式调用模式呢?
对不起,如果这看起来很愚蠢,但我真的不知道。
答案 0 :(得分:14)
Flyweight是一个拳击类别。
Flyweight模式适用于“轻量级”对象(尽管很多)。
答案 1 :(得分:2)
轻量级 - 或轻量级 - 表明创建的类实现为尽可能少的代码(并保持尽可能少的数据)来完成它们的工作。
创建(并实例化并传递它们)并维护它们因此更容易 - 比如提起一个基本上空的盒子。
这与重量级类相反,后者可能包含大量数据并包含大量代码。
答案 2 :(得分:2)
flyweight模式用于最小化在需要创建大量类似对象时使用的内存量。它通过共享实例来实现这一目标。
该名称来源于您提到的重量分类,但指的是少量记忆。也就是说,记忆=体重。