Asp.net 使用单个API项目而不是多个API项目

Asp.net 使用单个API项目而不是多个API项目,asp.net,asp.net-mvc,asp.net-web-api,Asp.net,Asp.net Mvc,Asp.net Web Api,在应用程序中,我致力于在一个VisualStudio解决方案中有几个ASP.Net核心api项目,在每个api项目中有几个api控制器。让我们假设Order.Api、Customer.Api和Product.Api。考虑不让几个单独的项目保留一个API项目,让我们调用它Backend.API并将所有控制器移动到这个单独的项目中。它的缺点是什么?它的优点是什么?最好先了解一下为什么要从多个api项目开始来回答这个问题。通过阅读微服务与单片设计之间的权衡,您可以获得更多的见解。这是一篇来自Marti

在应用程序中,我致力于在一个VisualStudio解决方案中有几个ASP.Net核心api项目,在每个api项目中有几个api控制器。让我们假设Order.Api、Customer.Api和Product.Api。考虑不让几个单独的项目保留一个API项目,让我们调用它Backend.API并将所有控制器移动到这个单独的项目中。它的缺点是什么?它的优点是什么?

最好先了解一下为什么要从多个api项目开始来回答这个问题。通过阅读微服务与单片设计之间的权衡,您可以获得更多的见解。这是一篇来自Martin Fowlers博客的文章

也就是说,下面可能会给你一个高层次的答案

缺点

  • 合并API将采用独立的方式 功能的可测试性、可部署性和可扩展性

  • 合并API可能会导致源代码的可读性降低

  • 降低了故障隔离级别

优势

  • 应用程序的部署和监视将变得简单得多
  • 易于调试
  • 客户、订单、产品业务能力之间的沟通将更加容易

谢谢@Nisal我认为可扩展性和可部署性应该是非常重要的事情,而且我怀疑这也有助于实现更多的耦合,这应该是可以避免的。最终用户使用你的东西会更复杂,维护和更新也会更复杂。但它将为你提供更多的原子控制。