2
可能重复:
How do you declare an interface in C++?C++设计模式问题。单接口多实现?
嗨,
什么是创建单一的界面和多种实现在C最好办法++?
例如,我想为mac和epoll for linux实现kqueue并共享接口。
谢谢
可能重复:
How do you declare an interface in C++?C++设计模式问题。单接口多实现?
嗨,
什么是创建单一的界面和多种实现在C最好办法++?
例如,我想为mac和epoll for linux实现kqueue并共享接口。
谢谢
的Strategy Pattern也可能是你在找什么。
Abstract Factory Pattern可帮助您在启动时填写正确的实施方案。
“优选的方式”? – dantuch 2011-05-03 07:48:15
在这种情况下,我会尽量保持头部中的接口足够通用,以便它可以与任一实现一起工作,只需创建两个不同的详细源文件,并使用#ifdef#include包含第三个正确的源文件。这不是优雅,但它的工作原理。我这样做的原因是,使用复杂的模式可以在运行时决定是否从一开始就明确表示只会在特定平台上使用一种实现,这是毫无意义的。 – Damon 2011-05-03 08:49:43