常常遇到要写一些客户端程序,其中90%以上的代码都是一样的,但10%是不一样的。
最土的办法自然是copy一个老程序过来,改一点就行了。但是从软件重用精神讲还是处于初级阶段。
但那些不同之处又是不能通过参数来调整这么简单的,有时还非得代码不可。
我能想到的对策就是2种:插件和脚本。
插件比较重量级,需要编译,需要开发环境。适合逻辑比较复杂的情况。
脚本不是万能的,只适合于逻辑比较简单的情况。
但是插件和脚本逻辑上是完全一样的,都是定义一组回调函数以符合预定义的接口规范,供主程序调用。
这样一来,我就把不变的部分逻辑用主程序实现。
变化的部分用脚本定义。
主程序随时可以根据用户的选择,装入不同的脚本,实现不同的业务处理逻辑。