我无法理解如何使用boost::flyweight
作为GOF模式。某处存在例子吗?
例如,我希望以下列方式使用它。必须有一些flyweight容器,它包含“fat”对象。这个容器可以为某些对象提供一些轻量级的“holder / descriptor”。我可以将描述符存储在某个容器中。
我无法理解如何从boost::flyweight
接收对象的“持有者/描述符”。
答案 0 :(得分:1)
模式实现不需要将1:1映射到原始模式描述。这是好事,因为人们可以利用GoF正在使用的任何功能集中不具备的语言功能,以使该实现更高性能,更简洁,更易于维护等等,等等。
The boost::flyweight
is the "lightweight holder/descriptor":
Boost.Flyweight可以通过提供类模板
flyweight<T>
轻松使用这种常见的编程习惯用法,该模板充当const T
的替代品。