繁体   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