【问题标题】:c++ design pattern question. single interface multiple implementations? [duplicate]C++ 设计模式问题。单接口多实现? [复制]
【发布时间】:2011-08-17 12:24:54
【问题描述】:

可能重复:
How do you declare an interface in C++?

嗨,

在 C++ 中创建单个接口和多个实现的最佳方法是什么?

例如,我想实现mac的kqueue和linux的epoll并共享接口。

谢谢

【问题讨论】:

  • 在这种情况下,我会尽量保持标题中的接口足够通用,以便它适用于任一实现,并且只需制作两个不同的详细源文件和#ifdef #include第三个中的正确一个。这不是那么优雅,但它有效。我这样做的原因是,如果从一开始就清楚你只会在特定平台上使用一个实现,那么使用可以在运行时决定的复杂模式是没有意义的。

标签: c++ design-patterns interface


【解决方案1】:

Strategy Pattern 可能是您正在寻找的。
Abstract Factory Pattern 可以帮助您在启动时填写正确的实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 2014-03-21
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    相关资源
    最近更新 更多