gpt4 book ai didi

java - 使用领域驱动设计在后端和前端重复逻辑

转载 作者:行者123 更新时间:2023-12-01 19:28:56 25 4
gpt4 key购买 nike

我有一个在后端有一些计算登录的类(class):

public class MyDomainClass{
private Double amount;
private Double total;
public Double getPercentage(){
/*business logic*/
}
}

我的前端采用 Angular 2+,我想以两种方式显示此信息。

在包含服务器提供的列表的表格中:

enter image description here

以版本形式,根据用户输入进行百分比计算:

enter image description here

为了以这种形式进行计算,我还必须在前端域类中复制逻辑吗?我担心重复业务逻辑并失去对具有相同想法的更复杂问题的代码的控制(后端用于报告和列表的一些逻辑以及前端表单中的相同逻辑)。

如何避免这种情况?

P.S:我在后端使用 Jax-rs。

最佳答案

你需要务实地对待这些事情。前端需要确保用户体验至少是可以接受的,有时可能会出现功能重复,以保持用户体验的流畅和合理。

另一个例子可能是验证。即使您的域必须执行相同的验证,前端验证也是必要的。领域是真理的来源,所有不变量都必须在那里实现。如果可以改善用户体验,在合理范围内,在前端复制某些功能是可以接受的。

简单的计算,就像你用作示例的那样,我什至不会担心。与添加成本以显示总计等相同。您的域可能会做同样的事情,但意图不同。

如果有任何“繁重的工作”需要完成,那么最好调用您的 web-api 并让您的后端处理它。

关于java - 使用领域驱动设计在后端和前端重复逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60404295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com