design-patterns - 在这种情况下,此 API 的最佳设计是什么?

标签 design-patterns api oop

我正在构建一个将给定消息发布到不同平台(Twitter、FaceBook ......)的 API。

问题是对于每个平台,我可能会更改允许我发布消息的包装器。例如,在 C# 中,我可以使用 yedda API 或 CsharpTwitt API 在 Twitter 上发布消息,对于 FaceBook,我将使用其他 API...

因此,我必须能够使用不同的包装器为每个平台发布消息。
alt text

目前,这是我使用的设计,但很明显,如果我添加更多的 API 和更多的包装器,这将太复杂。

我认为这是一个常见的设计问题,我想知道

  • 我是否使用了最好的方法来拥有
    设计良好的 API?
  • 否则,这种情况下最好的设计是什么?
  • 什么设计模式在这里适用?
  • 最佳答案

    我喜欢这种方法,因为这样你可以依赖注入(inject)你想要的任何包装器,并用一行代码改变它。

    例如

    Bind<Yedda>().To<ITwitter>();
    Bind<FBWrapper>().To<IFacebook>();
    

    现在整个代码ITwitter实际上映射到 Yedda包装。

    依赖注入(inject)可能是值得一看的东西。

    关于design-patterns - 在这种情况下,此 API 的最佳设计是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3605358/

    相关文章:

    oop - 如何从我的方法返回不同类型?

    java - 抽象工厂模式 - 未使用的代码

    php - 单例 PHP - 数据库处理程序

    api - 使用 API 连接到 PayPal 进行交易时出错

    javascript - 如何更改元素的文本而不影响其子元素?

    api - 我的 Twitter 流边界框有什么问题?

    php - 如何在变量类上调用静态方法?

    Java初学者手动输入值并打印对象void main的详细信息

    c# - 哪些是 C# 原生内置设计模式?

    c# - 数据存储库模式设计 C#