asp.net-core - 简化 .net core web api 设计复杂度
问题描述
这是一个与设计相关的问题。
我在 asp.net webforms 中有一个遗留应用程序,它有 3 类用户:管理员、客户和提供商,它们访问多个服务,如产品、帐户、销售、购买等。所有这 3 个用户共享相同的服务类库集,逻辑和数据库到现在为止。并且所有 3 个用户的部署都是单一的。
现在我们将其迁移到 .net core web api + angular。我正在考虑选项。到目前为止,我已经发现这对我们的应用程序来说是最好的:
- 为管理员、客户和提供商创建单独的 Web api。然后,对于 Admin 中的任何更改,部署都不会影响 Customer。但是这种方法的问题是类库会被复制。一些常用的方法将被复制。
有什么替代/好的方法吗?
解决方案
在以下情况下,项目的分离可能是有益的:
- 更新一个项目不会影响其他项目
- 在这种方法中,发布周期可以非常小,这显然会导致更快的开发和部署
- 但是如果你只是想分离你的项目并且他们仍然有一个数据存储,这个架构是一个宏服务架构,微之间的通信应该通过API来完成
- 对于您的共享代码,您可以定义一个Nuget 包,每个项目都可以将其添加到他们的项目中,以防止重复代码
推荐阅读
- php - 单个查询中的多个联接
- ios - 如何在 WKWebView 中覆盖 urlRequest
- web-scraping - 如何在jsoup中加载文档之前获取http内容长度
- amazon-web-services - AWS 控制台会话超时
- python - 嵌套 for 循环在 Python 中花费大量时间(优化)
- node.js - Websocket同步两路连接
- java - 如何在groovy测试用例中验证java的arraylist的每个条目
- vba - 为什么这个 VBA 代码会破坏 Excel?
- c++ - 流默认具有哪种语言环境
- node.js - 节点 JS - TypeError:无法读取未定义的属性“CONTEXT_1”