购物车系统的一些反省

如果不知道购物车是什么样子,请去小米商城看一下他的购物车。购物车应该包含这个商品类,同时还应该具有购买的数量,还应该有一个金额的小计。

一个购物车里面可以有很多个商品,这个时候就有一个疑问,你用什么来存储这些商品,在这里我们肯定使用集合,而购物车属于查询多,新增也多,所以我们应该使用map集合,而map集合因为底层是数组+链表+红黑树,所以查询删除性能高,新增快。

在这里我们选择用hashmap,linkedhashmap是有序的,他的有序是表现在存储的顺序上面有序,因为他的底层使用的链表是一个双向链表,而我们现在对于有序并没有要求,所以不选择linkedhashmap。

在这里有一个需要注意的点,购物车里面应该有一个item,用它来作为这个hashmap的value,而不是使用购物车本身来作为hashmap的value,那样子你不感觉很滑稽吗,购物车还能有多个吗?你这样虽然写的没有错,但是你不符合现实逻辑啊,面向对象,面向对象,你这个购物车对象映射的就应该是现实生活中的购物车!!!

何为对象?购物车是一个对象,购买这件事情也是一个对象,你的代码应该尽可能的模拟现实中的购物车和购买,这才是面向对象吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值