写博客很花时间,不过很适合整理思路。
比如购物车,最开始讨论的时候在购物车和订单应该设几个表(开始设想的购物车和订单表都是多条对一条的关系,除了订单号和状态不一样)之间争论,得出了结论是一个表,这样免去了一次复制多个条目从购物车到订单,而只需要在购物车里的那几项添加订单号并更改状态就好了。
但是之后很快又发现这样不够,真找订单很麻烦,而且付款方式,日期什么的也不好保存,于是又拆出一个订单表,只不过只作为存档保存订单号,日期,付款方式等作为存档。
之后发现这样还不够,订单需要经常获取总金额和总件数,于是又在这里面添加这两项。但是这样订单详情里要看价格,购物车表里可没保存这个啊,于是购物车表里又需要加上价格。
再看购物车的时候,我设计的 Cart 类,对应购物车里的一条记录,结果就是需要一个方法获取当前用户的所有可操作的条目;并且购物车表里并没有存储商品名称,储量,因此还需要根据 gid 生成 Goods 类的实例……
现在我在想,为什么 Cart 类不直接通过uid获取所有的商品以 Hash 数组的形式保存呢?
不过为了避免再改来改去,我还是重新整理一下当前的主要逻辑吧……
路由
- / 主页
- /add_item,通过 session 获取 uid
- /end_add_item,gdid在模板里填充
- /search?q=search_key&ct=category_key&od=order_key&pg=page 搜索页,分类页
- /item/gid 商品信息
- /cart 购物车,通过session获取uid
- /cart/pay 购买,gid 直接通过uid从数据库里获取
- /me 个人中心,通过 session 获取uid
- /order 所有订单,通过 session 获取uid
- /order/oid 订单详情,通过 session 获取uid