如何使用boost :: flyweight作为GOF模式?

时间:2017-01-26 12:06:13

标签: c++ boost boost-flyweight gang-of-four

我无法理解如何使用boost::flyweight作为GOF模式。某处存在例子吗?

例如,我希望以下列方式使用它。必须有一些flyweight容器,它包含“fat”对象。这个容器可以为某些对象提供一些轻量级的“holder / descriptor”。我可以将描述符存储在某个容器中。

我无法理解如何从boost::flyweight接收对象的“持有者/描述符”。

1 个答案:

答案 0 :(得分:1)

模式实现不需要将1:1映射到原始模式描述。这是好事,因为人们可以利用GoF正在使用的任何功能集中不具备的语言功能,以使该实现更高性能,更简洁,更易于维护等等,等等。

The boost::flyweight is the "lightweight holder/descriptor"

  

Boost.Flyweight可以通过提供类模板flyweight<T>轻松使用这种常见的编程习惯用法,该模板充当const T的替代品。