看了《领域对象驱动开发:来吧,让我们从对象开始吧》,结尾说“最后大家回想一下,用数据库表驱动的方式。分析这个业务会是什么样子的”,那么我就说一下我的想法吧。
先啰嗦几句。我一直都是面向数据库的,做项目先设计表。对于DDD一点都不了解,看了《领域》后,对DDD有了一点了解,感谢Assion Yang的热心讲解。我的回复是“理论是美好的,现实是残酷的”。这个不是说DDD不好,而是实际编码的时候,会发现很多细节问题,并不是一开始想象的那么美好。
表驱动,还是先来看一下超市购物流程和程序流程。
在看一下表设计,这里使用的是脑图,比较随意,也是我图省事了。
其实这个和购物车订单基本一致。这里没有考虑收银员的绩效考核问题。如果要考虑的话,需要加上收银员ID。还有收银员的表。
因为没有太具体的需求,所以表也比较简单。至于代码就不写了,表驱动不太适合写伪代码。
表驱动的缺点就是,不好表示“方法”,比如收银员扫条码,统计金额等。