常常遇到要写一些客户端程序,其中90%以上的代码都是一样的
最土的办法自然是copy一个老程序过来,改一点就行了
但那些不同之处又是不能通过参数来调整这么简单的
我能想到的对策就是2种:插件和脚本。
插件比较重量级,需要编译,需要开发环境。适合逻辑比较复杂的情况
脚本一般由于不能设断点调试,文本编辑器就可以了
但是插件和脚本逻辑上是完全一样的,都是定义一组回调函数以符合预
因为我最近又实践了一下脚本语言,
不怕丢脸,主程序还是Delphi,脚本还是fastscript
我自己其实也希望是Java跟javascript/JRuby
界面:略。
我定义了3个事件:
AfterScan(var SN,Index)
Verify(SN,var ErrMsg):boolean
Submit(SN[])
这样以来,主程序的逻辑就比较简单:
1 用户扫描SN,调用AfterScan(),比如Trim()
2 调用Verify(),如果校验失败就提示错误信息并要求重新输入
3 最好调用Submit(),因为这里变化比较多。到底要怎么处理这
变化的部分用脚本定义。
主程序随时可以根据用户的选择,装入不同的脚本,实现不同的业务处
原来的好多个模块估计就这样可以用一个主程序替换掉了。