我的算法实现了两个版本,每个版本都使用一个特定的库(MKL和ITK)。提供这些实现是因为只有一个库可供我们的用户使用。请注意,在编译时只应加载一个并进行编译。我很困惑这里应该使用哪种设计模式。
由于
答案 0 :(得分:2)
在C ++中,模板方式在名为policy的“策略设计模式”中执行。在Andrei Alexandrescu的书“现代C ++设计”的第一章中对它进行了很好的描述。为什么,模板方式,你可能会问?因为它是编译时间,只会编译你使用的代码。
我无法解释太多,因为我实际上并没有太多使用它的经验,但简而言之,模板不必是类型(如int,Person,float等),它可以是功能或类。所以你可以编写类似的代码
Printer<ScreenStrategy> p; // or wathever!