摘要

C++11、C++14、C++17等新标准发布后,涌现出许多泛型抽象工厂的设计方案。不过,一般泛型抽象工厂的设计,都要求入参列表与用参列表必须一致。本文将在以往设计的基础之上,基于闭包封装和序列展开、使用C++1x的std::integersequence、lambda表达式、tuple等新技术,通过数据结构和代码设计的优化,给出一种"可选用参泛型抽象工厂"的实现方式。测试结果显示,该方式复用性更好、更为精简高效,优雅地实现了对产品类型可变、异类组合、参数可变、可选用参等需求的支持。该实现方式及代码具有较强实用价值,可以实际应用到软件项目中。

  • 单位
    宜宾学院

全文