我不是一个以英语为母语的人,并且试图更好地理解该设计模式,我对用于命名模式的那个词的起源感兴趣。取这个名字的动机是什么?
据我所知,享元设计模式关注的是一种使用共享来支持大量细粒度对象的方法。
但是,我为该特定词(蝇量级)找到的定义是指重量小于 112 磅的拳击类别。
那么,为什么要以这种方式调用模式呢?
对不起,如果这看起来很愚蠢,但我真的不知道。
我不是一个以英语为母语的人,并且试图更好地理解该设计模式,我对用于命名模式的那个词的起源感兴趣。取这个名字的动机是什么?
据我所知,享元设计模式关注的是一种使用共享来支持大量细粒度对象的方法。
但是,我为该特定词(蝇量级)找到的定义是指重量小于 112 磅的拳击类别。
那么,为什么要以这种方式调用模式呢?
对不起,如果这看起来很愚蠢,但我真的不知道。
Flyweight是一个拳击类别,适用于轻量级的人。
Flyweight 模式适用于“轻量级”对象(尽管其中有很多)。
轻量级 - 或轻量级 - 建议创建的类实现尽可能少的代码(并保存尽可能少的数据)来完成它们的工作。
因此,创建(实例化和传递它们)和维护它们更容易——就像举起一个基本上是空的盒子一样。
这与可能包装大量数据并包含大量代码的重量级类形成对比。
当您需要创建大量相似对象时,享元模式用于最小化内存使用量。它通过共享实例来实现这一点。
该名称源自您提到的重量分类,但指的是少量内存。也就是说,内存=重量。