我有一个应用程序,我设计了这个应用程序有一个相当不错的核心dll,其中包含我的主视图的exe使用的API。我希望允许其他开发人员访问此核心DLL,但我不希望他们拥有和我一样多的访问权限,因为这会带来安全风险。暴露我的核心dll的标准方式是什么?有什么特别的设计模式我应该看?什么是将关键类/方法我的核心API暴露给第三方开发者的最佳方式?
我使用C#
编辑:我的问题是如此这里有点含糊一些澄清
我的程序被部署为Windows EXE它引用core.dll。我希望其他人在启动时通过在/ extensions目录中加载dll来创建可以动态加载到我的程序中的扩展。第三方dll将在我的core.dll中继承/实现某些类/接口。我只想给第三方有限访问我的核心,但我想给我的exe额外访问核心。
我应该提到,这是我第一次编写导入DLL的程序。也许这种允许用户添加扩展的方法是错误的。
你在说什么安全风险? exe在哪里运行(服务器端还是客户端)? – 2010-10-14 03:02:01
@Adrian K - 这实际上是一个很好的观点。我想他正在谈论一个Web API,但这听起来像是他想给其他开发人员“添加”一个缩减的DLL(在他们的项目中添加对DLL的引用)。这不是一个真正的API。 – RPM1984 2010-10-14 03:09:41
我不想进入语义学,但术语SDK更合适吗? – i8abug 2010-10-14 04:22:53