最基础的购物车数据结构(标准做法)
购物车通常需要 4个核心模型:
1. User(用户)
2. Cart(购物车)
3. CartItem(购物车商品模块)
4. Product (商品本身)
——
为什么一定要拆成 4 个模型?
因为:这是 4 种“不同的角色身份”,现实世界就是这样。
⸻
1、User(用户)
它代表:
谁在买?
用户是“人”。
他有:
• 邮箱
• 密码
• 订单
• 地址
所以必须单独一个模型。
⸻
2、Product(商品)
它代表:
被卖的东西是什么?
商品有:
• 名字
• 价格
• 库存
• 描述
商品是“公共的”。
所以它必须独立存在。
⸻
3、Cart(购物车)
它代表:某个用户当前准备买什么
购物车是“状态”。
为什么要单独一个 Cart?
因为:
• 用户可能有购物车
• 购物车里可以有很多商品
• 购物车可以被清空
• 购物车可以变成订单
它是“过程状态”。
⸻
4、CartItem(购物车商品格子)
这是最容易让人困惑的。
它代表:
某个购物车中的某个商品
它不是商品本身。
它是:商品 + 数量 + 所属购物车
比如:
用户A的购物车里:
• iPhone × 2
• MacBook × 1
这里的“iPhone × 2”
不是 product。
是:
某个购物车中的一条记录
这就是 CartItem。
⸻
核心逻辑(最重要)
现实世界关系是:
一个用户
有一个购物车
一个购物车
有很多商品
一个商品
可以出现在很多购物车里
这叫:
多对多关系
多对多关系必须用“中间表”。
CartItem 就是中间表。
⸻
现实世界就是 4 种不同的“实体”。

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站、APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。
公安局备案号:
