c++ design pattern question. single interface multiple implementations?
Possible Duplicate:
How do you declare an interface in C++?
你好,
在C++中创建单个接口和多个实现的最佳方法是什么?
例如,我想为Mac实现kqueue,为Linux实现epoll,并共享这个接口。
谢谢你
- "更好的方法"?
- 在这种情况下,我会尽量保持头中的接口足够通用,这样它就可以与任何一个实现一起工作,并且只需生成两个不同的详细源文件和第三个文件中的#ifdef #include。这不是很优雅,但很有效。我这样做的原因是,使用一个复杂的模式是毫无意义的,它可以在运行时决定您是否从一开始就只在特定平台上使用一个实现。
战略模式很可能就是你想要的。抽象工厂模式可以帮助您在启动时填写正确的实现。