我正在开发一个大型项目,该项目包括一个服务器、一些用于控制可以加载到服务器进程中的设备的插件,以及可以连接到服务器的客户端。我正在寻找构建最终需要存在的框架的最佳实践。
客户端、服务器和插件之间共享一些头文件,以及特定于系统各个方面的一些头文件。有时标头仅在客户端和服务器之间或服务器和插件之间共享。类似地,项目的所有三个方面都可以共享公共代码,也有只有一个特定方面需要的代码。
项目完成后,我们需要发布一个客户端应用程序和插件开发 API 供第三方开发。
我不确定如何正确构建支持这一点所需的框架。
我需要有 2 个独立的框架吗?或者我可以拥有 1 个包含所有标头并提供 2 个单独的 dylib 的框架吗?
如果我需要有 2 个独立的框架,我该如何处理在系统各个方面之间共享的头文件?我不想将它们复制到每个框架中以避免版本控制可能出现的问题。
第三个仅标头框架会是一个合理的选择吗?
任何人都可以推荐一个在 OS X 上使用框架构建这种东西的最佳实践吗?