请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于购物车功能开发的设计思想

学到这里,知道了整体的设计思想,一个购物车只能存放一种商品,通过商品和购物车的一个抽象对象CartProductVo来实现对购物车中商品的管理,然后再通过CartVo实现对购物车的管理。

但是我有一个想法:一个用户正常情况下创建一个购物车,这个购物车可以存放多种商品,而不是添加一种商品就去创建一个购物车,即直接在Cart这个pojo中创建一个List,用户存放多种商品。

正在回答

5回答

Saving_ 2017-06-05 16:35:52

你这样的话也可以,不过代码会显得可读性较差,容易冗余,首先CartVO就是一个购物车VO对象,里面就封装了一个List,而POJO(plain ordinary java object) 简单无规则java对象,是纯的传统意义的java对象。就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。我的理解就是最基本的Java Bean,只有属性字段及setter和getter方法,所以出于设计规范的原则,所以我建议还是封装一个VO或者BO对象来处理,免得发生不可以预知的错误。

2 回复 有任何疑惑可以回复我~
qq_风雨_21 2017-08-20 17:28:57

我来解答,以我的理解。按你说的Cart这个pojo中创建一个list,存放多种商品,这块就涉及到表的设计问题,因为刚开始设计表的时候,就没有设计外键,设外键如果很多张表关联,对于表的操作会比较困难。你这样就相当于一对多的关系,Cart是一,product是多。就违背了表的设计。Vo就是弥补这个的作用。pojo的属性体现的是一张表最原始的字段。购物车表中的字段不足以支撑页面上数据要求,而且现实需求是一个购物车包含多个商品。所以,后台需要对购物车封装,封装成一个购物车商品的Vo类。


1 回复 有任何疑惑可以回复我~
小張Roy 2017-06-06 18:05:53

我想問一下 Pojo層 和 VO 層的分別是不是在於 pojo 內的屬性就是和數據庫上的資料一樣, vo層就是想顯示那些屬性給用戶看?..

1 回复 有任何疑惑可以回复我~
  • 提问者 MyEmpress #1
    对的,可以这么理解
    回复 有任何疑惑可以回复我~ 2017-06-06 20:45:56
  • 提问者 MyEmpress #2
    pojo中的属性和数据库中的字段一一对应,而vo是根据前台需求重新组装的一个对象
    回复 有任何疑惑可以回复我~ 2017-06-06 20:47:30
  • 小張Roy 回复 提问者 MyEmpress #3
    謝謝謝謝
    回复 有任何疑惑可以回复我~ 2017-06-06 21:06:23
qq_何处闻_03907675 2017-06-22 18:10:45

放List可能不太好。一个购物车,然后里面添加订单项的对象可能好一点,一个购物车对应多个订单项

0 回复 有任何疑惑可以回复我~
Geely 2017-06-05 22:26:57

@Saving 赞美!

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信