2010-12-17 39 views
0

我們正計劃爲我們的.net Winforms應用程序編寫一個API層。我曾嘗試谷歌爲一些最佳實踐的好例子,但沒有發現很多可以回答我的問題。我們目前有以下結構:.net API best pratice

業務邏輯是基於業務領域的獨立程序集。所以ST.Invoice.Business.dll,ST.Order.Business.dll等等。然後我們有ST.Invoice.Bussiness.DC.dll,ST.Order.Business.DC.dll等等(DC表示具有所有接口的數據契約)。我們具有與數據層相同的結構(ST.Invoice.Data.dll)這些程序集在運行時通過Service Factory加載,您可以通過ServiceFactory.InvoiceBusinessService.GetInvoices(...)訪問它們。現在我們需要向其他第三方應用程序公開功能。如果我要給他們發票的所有功能,我可以只給出與發票相關的上述程序集,還是需要創建另一個稱爲ST.Invoice.BusinessAPI.dll的程序集(它具有幾乎相同的公共方法),然後調用在ST.Invoice.Business.dll方法來完成工作

我只需要關於如何編寫API和它意味着給他們我們的DLL來使用我們的BI聊到我們的數據庫

+1

只是一個安全建議:不要「黑名單」,做「白名單」。從庫中開始,只添加您認爲API所需的方法。這樣你就可以避免人們做不好的事情,因爲他們只能做你修改和思考的事情。 – 2010-12-17 01:47:55

回答