【问题标题】:What is the reason for the name of the Flyweight Design Pattern?Flyweight 设计模式命名的原因是什么?
【发布时间】:2011-04-13 23:20:24
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 阅读说明:我明白,但很失望。事实证明,这只是另一个体育隐喻,而且是一个可怜的隐喻。我一直认为这意味着与压力 = 重量 / 面积有关的东西,因为它让我想到所有那些承载着共同重量的小物体,并且因为它是分散的而不会感到太大的压力。
  • 直到我读到这篇文章之前,我一直把飞重这个词和机械飞轮混为一谈,并想知道它是如何表达任何类比的。

标签: design-patterns flyweight-pattern


【解决方案1】:

Flyweight 是拳击类别,适合体重较轻的人。

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

【讨论】:

    【解决方案2】:

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

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

    这与可能包含大量数据并包含大量代码的重量级类不同。

    【讨论】:

      【解决方案3】:

      享元模式用于在需要创建大量相似对象时最大限度地减少内存使用量。它通过共享实例来实现这一点。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-18
        • 1970-01-01
        • 1970-01-01
        • 2015-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多