C++:带有 API 的应用程序架构

标签 c++ design-patterns architecture

我的应用程序是 C++ 服务。我需要为它添加 API。我认为它将是基于 XML/JSON RPC 的 API。我应该如何设计一个程序来重用现有的代码库并提供API。

我看到以下选项:

  1. 我的应用程序将通过 RPC 层工作。由于性能低下,这似乎是一个糟糕的选择;
  2. 在开始服务之前,我将 fork 它并在第一个进程中运行我的应用程序,在第二个进程中运行 RPC 服务器;看起来没问题,但在这种情况下如何重新启动 RPC 服务器?
  3. 我想此类问题有一个众所周知的模式。

谢谢。

最佳答案

如果你可以使用网络服务器,那么 the FastCGI concept可能是你要找的。 FastCGI 的主要职责之一是允许您放置一个内部调用“真实”应用程序的公共(public) API(来自 Web 服务器),在您的情况下是常驻 C++ 服务。因此,所有工作都在 Web 服务器上完成,以使用您希望的任何技术创建公共(public) API,并且在您的 C++ 服务中几乎没有或没有代码更改。

关于C++:带有 API 的应用程序架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20695320/

相关文章:

c++ - Boost ASIO 阻塞回调

c++ - 类型 "void *"的值无法分配给类型 "double *"的实体

java - 阻塞队列设计

java - 您可以建议什么模式来解决任务?

architecture - 在 DDD 架构中,我在哪里保留帮助类?

java - MVC 或 Rest 或两者

c++ - 如何删除文件夹中的所有文件,但不使用 NIX 标准库删除文件夹?

c++ - Qtcreator GUI : how to modify highlighted entries' appearance?

.net - 从现有的winforms应用程序中分离 View 层的路径?

java - 使用枚举扩展类 - java