最近在做一个比较通用的库存计算的模块,初步想法是可以由用户自己设置计算逻辑!比如用户想要的库存=发票-退货,那么,就可以先添加取得发票数量的子方法,和取得退货数量的子方法,然后再设置库存计算主逻辑为[发票]-[退货],客户要做的就是保证子方法的正确性和计算主逻辑的正确性,我要做的就是有效的管理这些方法,保证主逻辑易于维护和修改,最重要的是保证主逻辑的执行效率能在客户能够忍受的范围之内。这个过程遇到很多问题:
一、如何动态的维护客户子方法所需要的参数?
由于对于不同的客户进行库存计算所要设定的子方法不同,子方法所需要的参数也不尽相同,例如,同是取得发票返回发票数量的方法,A客户可能需要的是取得某个人在一段时间内产生的发票数量,而B客户可能需要某个产品在一段时间内产生的发票数量,这个时候,A客户的子方法的参数为人的标识,而B客户的子方法的参数为产品的标识。这样就导致参数类型可能不相同,也有可能参数数量不同,而所有这些参数又是需要主逻辑传入的!
一、如何动态的维护客户子方法所需要的参数?
由于对于不同的客户进行库存计算所要设定的子方法不同,子方法所需要的参数也不尽相同,例如,同是取得发票返回发票数量的方法,A客户可能需要的是取得某个人在一段时间内产生的发票数量,而B客户可能需要某个产品在一段时间内产生的发票数量,这个时候,A客户的子方法的参数为人的标识,而B客户的子方法的参数为产品的标识。这样就导致参数类型可能不相同,也有可能参数数量不同,而所有这些参数又是需要主逻辑传入的!