首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >哪种设计更好?把这个逻辑放在前端还是后端?

哪种设计更好?把这个逻辑放在前端还是后端?
EN

Stack Overflow用户
提问于 2019-06-05 03:51:55
回答 1查看 109关注 0票数 -1

我们有一个名为copy(fileName)的API,基本上它将文件从源复制到目标,因为源和目标在同一位置,所以我们不需要指定它。

现在我们将文件系统拆分到不同的位置,比如ABCD。我们总是复制到D,但文件可以来自ABC。所以我们需要一些像这样的逻辑:

function checkAndCopy(fileName) {
    if (fileExistInA) copy from A to D
    else if (fileExistInB) copy from B to D
    else if (fileExistInC) copy from C to D
}

我想把这个函数放在后端,原因是后端的变化应该封装在API中,这样调用者就不需要担心实现细节了。

然而,我们的后端团队不想维护它,他们只想提供copyFrom的最终版本(fileName,源代码)。因此,我建议他们将source作为可选参数,或者如果前端不知道源代码,则使用空字符串。一旦更改了前端,我们将始终发送源代码,并从copyFrom(fileName,source)中删除空字符串/可选参数逻辑。

后台人员认为使用可选参数或故意传递空字符串是一个糟糕的设计,即使他们知道这是暂时的,也不希望这样做。

那么哪种设计更好呢?

  1. 把这个逻辑放在后端,要么有一个接口拷贝(fileName,source),并将源作为可选的参数/空字符串传递,要么有两个单独的函数,如copyFrom(fileName,source)和checkAndCopy(fileName);
  2. create在前端有一个新函数checkAndCopy,在后端有另一个新函数copy(fileName,source),让前端决定调用哪一个。

请注意,我的问题不是关于如何编写函数,而是将这些函数放在哪里。

EN

回答 1

Stack Overflow用户

发布于 2019-06-05 04:24:48

在应用程序接口中应该只有像copy(source, target)这样的原子调用。复制功能本身不应与特定目录相关。它的用例是复制,而不是确定目标目录。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56450457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档