Hi,大家好,新年已经过完了,伴随着我们的是又要开始工作了。祝愿大家在新的一年里工作顺利,生活愉快,年薪升的比火箭还快。
一、购物车模块-概括
在正是进入开发之前我们先来看一下购物车模块都有哪些功能:
可以见得,购物车模块的功能还是比较多的,所以我会分较长的篇幅来讲解,力求大家都能看懂。要想封装好一个高复用的购物车模块,就要对购物车的功能有本质上的理解。其实不管是怎么样的购物车,PC端也好移动端也罢,它的核心功能是购物车中商品价格的计算。说道价格的计算,无论你使用哪种后端语言进行开发,都需要考虑在计算购物车中商品价格时丢失计算精度的问题,如果没有把这点考虑好,往往会因为一个小数造成无法下单,更有甚的会引起整个企业出现问题。在解决了价格计算中丢失精度的问题之后,还有一个问题就是通用购物车方法的封装,这个方法会根据商品的价格来进行封装,其中里面封装好了对商品库存的处理,以及再次计算购物车中商品的总价或者单价,并供其他方法进行调用。这两点是写任何一个购物车时必须要考虑到的,如果没有充分考虑这两点,那么在开发中会造成难以预料的错误,在后期调试的时候也会无从下手。
二、购物车模块-开发之前的问题解决
(1)购物车中在计算商品价格时丢失计算精度问题的解决
在Java中,或者在SSM框架中,解决丢失计算精度问题是使用Java中自带的BigDecimal类,该类继承了Number父类并实现了Comparable<BigDecimal&