【发布时间】:2011-08-17 12:24:54
【问题描述】:
嗨,
在 C++ 中创建单个接口和多个实现的最佳方法是什么?
例如,我想实现mac的kqueue和linux的epoll并共享接口。
谢谢
【问题讨论】:
-
在这种情况下,我会尽量保持标题中的接口足够通用,以便它适用于任一实现,并且只需制作两个不同的详细源文件和
#ifdef #include第三个中的正确一个。这不是那么优雅,但它有效。我这样做的原因是,如果从一开始就清楚你只会在特定平台上使用一个实现,那么使用可以在运行时决定的复杂模式是没有意义的。
标签: c++ design-patterns interface