gpt4 book ai didi

java - 购物车应用程序中类(CartItem 和 OrderItem)的设计冗余

转载 作者:行者123 更新时间:2023-12-04 06:15:06 26 4
gpt4 key购买 nike

我正在尝试使用 jpa 在 java 中设计和编码一个基本的商店 Web 应用程序。
当用户在 ShoppingCart 中选择产品时,我创建了一个列表 Cartitem s。
Cartitem 的生命周期与购物车相关。当购物车被删除时,它的所有购物车都必须消失。
(购物车在用户完成购买后删除)
之后这些选择需要转换成订单。我创建了一个列表OrderItem s 在每个 Order .然后我发现每个Cartitem都有一个对应的OrderItem。
Orderitem 的生命周期与订单相关。

我是 java/javaee 的初学者..我想知道就设计而言我是否走在正确的轨道上..
这是设计这样一个应用程序的正确方法吗?CartItemOrderItem类看起来太相似了,我想知道是否有任何冗余。

我的实体类现在看起来像这样。

class ShoppinCart{

@OneToMany(orphanRemoval=true, cascade={CascadeType.ALL},mappedBy="order")
private List<CartItem> citems;
...
}

class CartItem{
Product product;
int quantity;
...
@ManyToOne
ShoppingCart cart;
}

class Order{
@OneToMany(orphanRemoval=true, cascade={CascadeType.ALL},mappedBy="order")
private List<OrderItem> orderItem;
private Date orderDate;
private Customer customer;
}

class OrderItem{
Product product;
int quantity;
...
@ManyToOne
Order order;
}

最佳答案

是的 CartItem 和 OrderItem 是多余的。您不需要在 CartItem 中存储购物车引用。
在我看来,ShoppingCart 只是一个尚未最终确定的订单。您可能需要为订单添加状态,待处理、已发货、已取消等,因此购物卡可能只是处于待处理状态的订单。如果您需要一个单独的类,那么只需将它包装起来,以便 ShoppingCart 有一个 Order(并且没有 CartItem 列表)。

关于java - 购物车应用程序中类(CartItem 和 OrderItem)的设计冗余,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7348346/

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