摘要:
罪魁祸首: 偷换概念
再次看看需求:" 顾客可以在不登录的情况下下单,只有在结算时才需要指定该订单的顾客".这里的”下单”到底做如何解释?根据前面的分析中可以提取这个需求的两个动作: “下单-->支付”.其实真正的购物流程是: “挑选商品,并放入购物车 -->下单 -->支付”.正因为我们没有整个流程放一起考虑,造成需求理解的不到位.导致代码不合理. 所以这个需求真正的表达是:"顾客可以在没有登陆的情况下挑选商品并放入购物车,最后要结算时,必须登陆后才能结算”. 现在再来看之前的分析.是完全合理的.原来客户说的”下单”其实是”放入购物车”的意思,现在这个问题很好解决, 购物车里的东西只要谁登陆谁就可以去结算. 所以”实现一”是合理的.
总结:
1,一般我们领域建模都是抓出聚合关系,也就是更紧密的关联.
2,把类的关系转化代码时,必须符合类的静态契约.
3, 客户提的需求并不一定都是合理的,有时候他提出来你软件要怎么怎么做,但实际需求说到底是为了解决业务问题,要正确地分析客户的需求,提取实质业务需求,
4, 记住”OO就是做符合常理的事情”。 阅读全文