Php 面向对象的检验过程设计
在过去的两个小时里,我的同事和我一直在讨论,试图找出设计新网店的最佳方式,该网店处理客户的购物篮,但我仍然不确定我们是否得出了一个好的结论 这听起来像是一个相当基本的问题,但我们发现实际上系统的不同部分之间存在大量的相互依赖关系 这些部分(到目前为止!)包括:Php 面向对象的检验过程设计,php,oop,Php,Oop,在过去的两个小时里,我的同事和我一直在讨论,试图找出设计新网店的最佳方式,该网店处理客户的购物篮,但我仍然不确定我们是否得出了一个好的结论 这听起来像是一个相当基本的问题,但我们发现实际上系统的不同部分之间存在大量的相互依赖关系 这些部分(到目前为止!)包括: 购物篮(跟踪客户选择购买的产品) 交易(定义产品的促销活动,如“以20英镑购买3个x”,或“购买2个x,免费获得1个”) 低订单费用(在一定值下,订单中会增加额外费用) 运费(基于一系列选项) 兑换券 客户信用(客户的账户上可能有信用,
- 购物篮(跟踪客户选择购买的产品)
- 交易(定义产品的促销活动,如“以20英镑购买3个x”,或“购买2个x,免费获得1个”)
- 低订单费用(在一定值下,订单中会增加额外费用)
- 运费(基于一系列选项)
- 兑换券
- 客户信用(客户的账户上可能有信用,从订单总额中减去)
- “免费购买X,免费获得Y”的交易需要在客户签出X时将Y产品添加到购物篮中。因此,交易有效地影响了篮子
- 确定是否申请低订购费是基于篮子中产品的价值,但要在多次购买折扣之后(例如,2的价格是3)。因此,它需要考虑篮子,同时也要考虑交易
- 当客户浏览网站时,购物篮还需要显示一个总价值,这个总价值应该考虑到与产品相关的交易,而不是其他
我怎样才能做到这一点,而不伤自己的脚,编写可能会以意想不到的方式影响大量其他代码的代码?您似乎有以下抽象实体:
- 篮子
- 交易
- 费用(低订单、运输)
- 学分(凭证、未付学分)
更新:。到目前为止您尝试了什么?我建议你去看看S.O.L.I.d。此外,如果你要去TDD,你应该非常安全,它不会只是坏。