在我工作的公司,我们有一个用.NET开发的桌面应用程序,我们喜欢为其他软件开发人员开放一些部分。
我把它看作是其他软件可以访问的某种公共方法。是否有任何标准方法、最佳实践或其他经验?
我猜你可以用Win32调用,C/C++编程等等来做这件事,但我主要是一名.NET开发人员,有几年的编程经验,主要是VB.NET,也有一些C#编程。我希望能找到一种在.NET中做到这一点的方法,但是用其他语言开发的软件应该可以访问它。
最好的问候/ Magnus
发布于 2009-03-10 16:14:00
有两种方法可以做到这一点。第一个涉及到使用Plug - In / Module模式。Start here就是这样的。
第二种方法是通过有良好文档记录的程序集简单地公开API逻辑。
你选择的方式真的归结为你想要如何实现它。例如,Adobe Photoshop在很大程度上使用了插件模式。MS Office使用这两个插件,并提供用于使用应用程序的对象接口。
公共更新:只需将对象范围设置为,就可以公开.Net程序集中的对象,以供外部应用程序使用。这包括windows窗体、业务对象、枚举等。
只要从外部开发人员的角度考虑就可以了。他们需要什么信息才能成功地扩展/控制您的产品?不管是什么,把它放在帮助文件中。
此外,还要利用.Net的自动文档功能。这包括添加IDE已经知道如何通过intellisense读取和显示的xml文档。例如:
/// <summary>
/// Gets all active documents for the specified customer.
/// </summary>
/// <param name="customerId">The Id of the customer.</param>
/// <returns>A list of documents for this customer.</returns>
public static List<Document> GetDocuments(int customerId)
{
    //... do something ...
}发布于 2009-03-10 16:46:20
创建一个API类,该类公开您希望人们有权访问的函数,并为COM互操作项目注册它->properties -> build ->注册COM互操作
发布于 2009-03-10 16:36:22
“通过公共API公开应用程序”不是一个详细的需求定义。在设计任何东西之前,获取详细的需求。
对于API,我建议您从需求开始,然后继续使用案例。由于这是一个API,您应该实际使用建议的API编写一些代码,以了解编写它的感觉。你写的代码应该涵盖你开始的用例。您甚至可以在单元测试中编写代码,然后通过测试驱动的开发和重构创建API。
但不管怎样,由于用例关注的是用户将如何使用软件,它们将帮助您关注用户直接使用软件的哪些部分。一个用例可以使用另一个用例;但是如果用户不直接使用特定的用例,那么这个用例就不需要公开。
请注意,这对我开发web服务也有帮助。用户直接访问的用例成为通过服务公开的操作。任何用户不直接调用的用例都将保持隐藏状态。
https://stackoverflow.com/questions/630971
复制相似问题