是否需要将客户端和管理部分的API分开

问题描述 投票:0回答:1

我正在考虑以下任务。在我的项目中,我分为2部分:

1)Android客户端使用的API2)后台(管理员部分)

我的想法是将这两个API彼此分开。 “分离”是指所有服务和数据库层对于客户端API和管理API应该是唯一的。

项目的结构将如下所示:

MyProject.FrontOffice.APIMyProject.FrontOffice.ServicesMyProject.FrontOffice.Data

MyProject.BackOffice.APIMyProject.BackOffice.ServicesMyProject.BackOffice.Data

两个项目都在一个解决方案中,但是问题在于相当大一部分代码将在两部分中重复。

第二个想法是不分离它并使用负载均衡器解决它(它将在API的多个实例之间进行平衡;一些用于客户端,某些用于管理部分)。

您认为哪种方法更好,为什么呢?

.net api architecture
1个回答
0
投票

API代码应集中化,因为这是将业务逻辑保存在一个集中层而不是将其保存在两个不同位置的最佳方法。

如果在一个API项目中更改逻辑,但如果在一个API项目中更改逻辑,但是将其保留在两个项目中会使解决方案更倾向于来自同一API的结果不一致,但是由于人类的倾向,有可能在另一个项目中错过该逻辑或以不同的方式实现该解决方案。

强烈建议通过API端点公开单个业务逻辑层。

© www.soinside.com 2019 - 2024. All rights reserved.