在一哥们的大力推荐下,我的boost之旅从any开始了。预先想到了要实现这种无视类型的容器,肯定需用template。但是,any本身是不可以被模板化的,因为那样,在对any赋值时必须指明实际类型,也就失去any的意义了。
想过一种可能,就是用一个模板类来继承any,但是当我看到any的代码时,竟然惊奇的发现,即使在这么小的一个文件内,实际上已经实现了bridge模式。而我原以为,bridge模式是用来处理一个大的系统当中,两个模块之间的相互关系的,换句话说,只有让我设计一个完整的工程,才有可能在需要的时候想到该模式。竟然没有想起来,bridge的本质就是分离抽像与实现。如此简单。只不过和一般的bridge模式用多个子例实现相比,boost只有一个模板化的子例。但其本质是一样的。
Shot alternate link for this article: boooooost

文章 (RSS)