向帮主和各位道友求助

13-08-05 KenWT

近日,在公司的业务系统的重构中遇到一个需求场景,苦思几日无果,特来向帮主和各位业内道友求助。详情如下:

公司的业务系统中需要开发一个通用的数据校验组件,而且是业务范畴的校验,所以需要用另外一种方式对业务规则进行配置描述,从来达到用更新配置的方式来更新变化后的业务规则,但是由于业务数据的灵活度过高,暂时并无好的办法来抽象,所以特向大家来请教这个问题,目前该问题的核心瓶颈在于如何实现业务相关数据关联校验的可配置,因为A数据的取值或取值范围决定了B数据的取值和取值范围,B数据的取值或取值范围决定了C数据的取值或取值范围,而且各自的取值或者范围都会存在不确定的变化。这种关系适合用哪种方式来抽象描述,进而抽象出一种通用的逻辑关系来规范约束此类需求的描述更新,希望感兴趣的同学踊跃献计献策,各抒己见,不甚感激。

SpeedVan
2013-08-06 00:15

C的验证 check C

决定关系 B = f A,C = g B

B的验证 check.g B

A的验证 check.g.f A

gameboyLV
2013-08-06 07:24

用AOP和动态编译,验证规则用c#源代码编写,编写好之后动态编译成DLL用于验证。我想java也应该有和 。net类似的机制吧

showerxp
2013-08-08 16:12

class 数据{

var 参照数据

var 数值

var 数值范围

function 数值或数值范围约束规则

}

如果“数值或数值范围约束规则”复杂可以再抽象出来单独成类。

另外楼主的说明——“A数据的取值或取值范围决定了B数据的取值和取值范围,B数据的取值或取值范围决定了C数据的取值或取值范围,而且各自的取值或者范围都会存在不确定的变化”。有了抽象归纳,但是最好还应该举一个场景式的例子,比如A数据是什么东西它怎么决定了B数据的取值。这样,抽象和具象的描述都有,更容易让人理解业务。