我不明白如何boost::flyweight
用作 GOF 模式。某处是否存在示例?
例如,我希望它以下列方式使用。必须有一些轻量级容器,其中包含“胖”对象。这个容器可以为某些对象提供一些轻量级的“持有者/描述符”。我可以将描述符存储在某个容器中。
我不明白如何从boost::flyweight
.
我不明白如何boost::flyweight
用作 GOF 模式。某处是否存在示例?
例如,我希望它以下列方式使用。必须有一些轻量级容器,其中包含“胖”对象。这个容器可以为某些对象提供一些轻量级的“持有者/描述符”。我可以将描述符存储在某个容器中。
我不明白如何从boost::flyweight
.
模式实现不需要将 1:1 映射到原始模式描述。这是一件好事,因为人们可以利用 GoF 使用的任何一组功能中不可用的语言功能,以使该实现更高效、更简洁、更易于维护等等。
这boost::flyweight
是“轻量级持有者/描述符”:
Boost.Flyweight 通过提供类模板来轻松使用这种常见的编程习惯
flyweight<T>
,它充当const T
.