簡體   English   中英

.Net Core 5 Web Api 服務對象共享和引用

[英].Net Core 5 Web Api services object sharing and refrence


我在 .net core 5 中開發了 2 個 WebApi,如 InventoryApi 和 SalesApi。
我在 InventoryApi 中有一個名為 Good 的對象,用於 StockIO 的 .
Good 與 SalesApi 中的 Salesinvoices 對象有關系。

我必須參考哪些選項?

  1. 使用共享類
  2. 在 SalesApi 項目中引用 InventoryApi 並使用 Inventory 中的 Good Object
  3. 任何其他解決方案?

特爾;博士:

由於您已將 API 組合到一個解決方案中,因此共享類庫中的共享類很好。


我會給你一些選項,包括贊成和反對。 還有其他方法,但我認為這些是最常見的。

  1. 共享類,共享類庫項目
  2. 共享類,共享API工程
  3. 共享庫 (nuget)
  4. 松耦合或重新定義(nu重用)

共享類,共享類庫項目

這是一個類,可通過 2 個 API 項目的解決方案中的代碼訪問。

  • 易於訪問
  • 快速發展
  • 所有共享組件的專用項目

缺點

  • 糾纏 API
  • 更高的復雜性(單個類影響 2 個系統)

共享類,共享API工程

與上面類似,但不是共享共享組件,而是共享完整的 API 項目。

  • 易於訪問
  • 快速發展

缺點

  • 糾纏 API
  • 更高的復雜性(單個類影響 2 個系統)
  • 公開完整的 API 項目

共享庫 (nuget)

與共享庫類似,但在這種情況下,您使用像 nuget 這樣的包管理器來管理包的分發和版本。 如果包需要與多個組件共享,這通常會使用。

  • 如果需要包/發布管理,很好(由於許多依賴項)

缺點

  • 更多設置工作
  • 更多的工作來應用改變

松耦合或重新定義(nu重用)

如果共享類僅包含數據並用作數據傳輸對象 (DTO),則可以在兩個項目中單獨定義它。

  • 沒有共享的依賴組件

缺點

  • 錯位的風險

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM