请教账单领域的实体,值对象与服务的设计问题. 将一堆账单按照类型(自来水,电力,燃气,电信)的不同分别挑拣出来,然后按照类型放在不同的篮子里面,对于这种业务场景. 我写了一段代码,但感觉明显是过程思维,而且里面有很多if...else...,请教我如何将其使用模式重构为OO代码?如何彻底消除if...else... 账单的类为: public class Bill { private String barCode;//账单条码 private float billAmount;//账单 金额 private float commission;//手续费 private float totalAmount;//总金额 private int type;// 账单类型,比如(自来水,电力,燃气,电信) private int commitStatus;//提交状态 private int payStatus;//是否成功缴费 private Date commitDate;//账单提交时间 private MemberCard card; //支付账单所使用的会员卡 private BsOnlineTradeRecord record;//支付所产生的交易记录 private Date billDate;//账单日期 private Date payDate;//支付日期 private int finalStatus;//账单最终出来状态
/* set() and get()方法省略 */
}//end of class
账单服务类中的一个分拣不同账单的方法:
private Map
请各位大哥多多指教?感觉是Model Bill中的内容有点臃肿了. 一些属性MemberCard card 是可以拉出来做值对象的.而账单中似乎也不应该将交易记录 BsOnlineTradeRecord record;作为账单的属性.请多指教!