-3

我的算法在两个版本中实现,每个版本都使用一个特定的库(MKL 和 ITK)。提供这些实现是因为我们的用户只能使用其中一个库。请注意,在编译时只应加载并编译一个。我很困惑应该在这里使用哪种设计模式。

谢谢

4

1 回答 1

2

在 C++ 中,模板方式在称为策略中执行“策略设计模式” 。在 Andrei Alexandrescu 的《现代 C++ 设计》一书的第一章中对其进行了很好的描述。为什么,模板方式,你可能会问?因为它是编译时间,只有你使用的代码才会被编译。

我无法解释太多,因为我实际上并没有太多使用它的经验,但简而言之,模板不必是类型(如 int、Person、float 等),它可以是函数或一类。所以你可以编写类似的代码 Printer<ScreenStrategy> p; // or wathever!

于 2013-11-13T01:54:10.493 回答