一个扩展性需求很高的项目Toolite

需求:

 

1. 提供一个输入面板, 供用户输入参数, 参数及参数之间有如下特点:

  • 参数有类似C++的Structure结构, 即参数可分组
  • 参数存在默认值, 类型,名称, 并且某些参数可以显示,某些参数不需要显示
  • 参数之间存在约束关系,比如参数一的值为A的时候,参数二显示值为B, 同时参数三对用户隐藏
  • 参数存在复杂的逻辑关系,比如参数一为A, 参数二为B,自动计算出参数三的值为A*B+B
  • 当面板中出现多个参数时,需要有良好的机制,将些参数分到不同的组中,不同组的参数,依然需要实现上述四种需求。

2. 计算通过参数的输入, 并通过数据源(或者XML,或者Excel,甚至是数据库)和公式计算出结果,同时序列化到文件。

 

3. 上述的参数的个数,参数和参数之间的关系,以及公式, 都能灵活变动。 并且随着产品模块增加,参数会增加和减少, 需要较好的方案实现可扩展性。

 

 

设计思路:

 

1. 采用Eclipse RCP + XML + javaScript 方案

 

2. 借助XML良好的组织层次关系, 将参数或者参数集合表现出来. 如xml的节点嵌套, 并列, 多个属性值, 可以支撑需求1, 2, 3

 

3. 由于配置好之后的参数,要形成一个可扩展的逻辑运算模块, 这里xml不再适合(xml适合数据表示,和简单逻辑, 复杂逻辑描述很不方便),因此,这里的方案是采用JavaScript脚本表示,鉴于Jdk1.6对js支持非常好,因此这里将采用该方案.

 

4. 这里按照处理不同,可以分为两种模块: 由xml生成界面可以分离成一个木块, 由js处理数据参数可以分为第二个模块. 这样做的目的是,如果下次遇到配置工具,需要由xml生成界面,则第一个模块可重用, 若遇到java调用Js的新需求,第二个模块可重用.

 

5. 待续.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值