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

来源:9-2 加入购物车功能开发1

MyEmpress

2017-06-05

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

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

写回答

5回答

Saving_

2017-06-05

你这样的话也可以,不过代码会显得可读性较差,容易冗余,首先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
0

qq_风雨_21

2017-08-20

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


1
0

小張Roy

2017-06-06

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

1
3
小張Roy
回复
MyEmpress
謝謝謝謝
2017-06-06
共3条回复

qq_何处闻_03907675

2017-06-22

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

0
0

Geely

2017-06-05

@Saving 赞美!

0
0

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9430 学习 · 8789 问题

查看课程