繁体   English   中英

向第三方开发人员公开我的核心API的关键类/方法的最佳方法是什么?

[英]What is the best way expose key classes/methods my core API to 3rd party developers?

我有一个已设计的应用程序,此应用程序有一个相当不错的核心dll,其中包含主视图exe使用的API。 我也希望允许其他开发人员访问此核心dll,但我不希望他们拥有与我一样多的访问权限,因为这将带来安全风险。 公开我的核心dll的标准方法是什么? 我应该注意什么特殊的设计模式?

我正在使用C#

编辑:我的问题有点含糊,所以这里有一些澄清

我的程序被部署为引用core.dll的Windows exe。 我希望其他人创建扩展名,该扩展名通过在/ extensions目录中加载dll来在启动时动态加载到我的程序中。 第三方dll将在我的core.dll中继承/实现某些类/接口。 我只想给第三方有限的访问权限,但我想给我的exe附加访问权限。

我应该提到,这是我第一次编写导入DLL的程序。 允许用户添加扩展名的整个方法也许是错误的。

如何为其他开发人员修改/公开我的API?

为了故意允许其他开发人员使用API​​,您已经在很多方面建立了联系,可以分为以下两个方面:

  1. 使他们更容易理解的资源(文档,示例等)(是的-基本上是SDK)。
  2. 设计,构建和部署您的解决方案,使其易于实际使用。

示例包括:

  • 通过以适合重复使用的方式包装它。
  • 通过使用其他人可以轻松遵循的命名约定和成员名称。
  • 文档,样本。
  • 如果您愿意让他们修改源代码,请提供源代码(作为开源)。

我也希望允许其他开发人员访问此核心dll,但我不希望他们拥有与我一样多的访问权限,因为这将带来安全风险。

好的,这样就可以直接进入第二个领域-实际解决方案。

您遇到的问题不是一个小问题-但这也是可以解决的。 我建议:

您面临的最大问题是您将进入认真的架构领域-随着时间的推移,您现在做出的决定将对解决方案的各个方面产生深远的影响。 因此,您可能无法迅速做出明智的决定。 仍然-您必须从某处开始:)

由于您使用的是C#,因此我将研究Microsoft的框架设计指南:可重用.NET库的约定,惯用语和模式,并使用FxCop对其进行有效使用( 此处是最新版本)。 这将不是您可能需要的全部,但是它将帮助您朝正确的方向发展。

另外,看看免费提供的蒸馏框架设计指南由同一作者。

就API而言, “设计模式”与REST之类的内容更为相关。

我不希望他们拥有与我一样多的访问权限,因为这将带来安全风险

然后,为了维护起见,我将在核心DLL之上添加额外的逻辑来防止这种情况。

问题是,“客户端”调用API,而不是Core DLL。

API如何访问核心DLL由您完全控制。 仅公开您想要的操作合同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM