【发布时间】:2010-12-17 01:38:40
【问题描述】:
我们计划为我们的 .net Winforms 应用程序编写一个 API 层。我试图用谷歌搜索一些最佳实践的好例子,但没有找到很多可以回答我的问题的东西。我们目前有以下结构:
业务逻辑基于业务领域位于单独的程序集中。所以ST.Invoice.Business.dll、ST.Order.Business.dll 等等。然后我们有ST.Invoice.Bussiness.DC.dll、ST.Order.Business.DC.dll 等等(DC 表示具有所有接口的数据合约)。我们的数据层具有相同的结构 (ST.Invoice.Data.dll) 这些程序集在运行时通过服务工厂加载,您可以通过 ServiceFactory.InvoiceBusinessService.GetInvoices(...) 访问它们。现在我们需要向其他 3rd 方应用程序公开功能。如果我要为他们提供让说发票的所有功能,我是否可以只提供与发票相关的上述程序集,或者我是否需要创建另一个名为 ST.Invoice.BusinessAPI.dll 的程序集(这将具有几乎相同的公共方法),然后调用ST.Invoice.Business.dll 中的方法来完成工作
我只需要一个关于如何编写 API 的指南,这是否意味着给他们我们的 dll 以使用我们的 BI 并与我们的 DB 对话
【问题讨论】:
-
只是一个安全建议:不要“黑名单”,要“白名单”。在库中从头开始,只添加您认为 API 需要的方法。这样你就可以避免人们做讨厌的事情,因为他们只能做你修改和考虑过的事情。
标签: .net