哪个设计模式应该用于使用两个库实现的算法

时间:2013-11-12 22:44:22

标签: c++ algorithm templates design-patterns

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

由于

1 个答案:

答案 0 :(得分:2)

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

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