读书人

超越分析与设计的鸿沟

发布时间: 2012-11-01 11:11:33 作者: rapoo

跨越分析与设计的鸿沟
如何把分析转化为设计,又如何把设计模式跟域模型结合?这里边如何还操作,总有章可循.各位有何高见.
现在举个例比较好说明问题:

现有如下库存检查的逻辑:

对A类别的产品: 不需要库存检查,可下单,
对B类别的产品: 一定要库存检查,有库存可下单,无库存不能下单
对C类别的产品:
购买该类别的客户需要选择送货周期,如果
客户要求的送货周期大于30天,是不需要检查库存(即30天后一定可以送货),如果小于30天需
要检查库存.


以后可能还有其它类别的处理逻辑,这里有两处变化.产品类别 以及 该类别的库存处理逻辑.这个似 乎,可以用Bridge 模式来解决扩展问题.现在的问题是:如何把这个设计跟原来的模型整合起来. 这个产品类别不知道如何来抽象化.如果用这个设计,那么用这个接口OrderService需要判断产品类别,然后创建不同的处理逻辑.

粗略的设计如下图 1 楼 softcat 2009-01-12 用重构那本书里的观点来看,你应该为每个产品的情况单独设计service类,譬如说ABusiness,BBusiness,CBusiness,然后可以利用JAVA的反射,来进入每个相应的业务处理流程,当然这些XBusiness都可以实现一个共同的接口IBusiness,可以作为参数传递,呵呵

读书人网 >软件架构设计

热点推荐