问题的提出
远程控制类软件的编写是个痛苦的过程,大概的思路是(假定,控制端为client端,受控端为server端):
1. client端发出命令
2. server端解析命令
3. server端通过解析命令,执行相应的操作
4. server处理完毕后返回处理结果
5. client端接收处理结果
请注意step 2,3中server端的处理。如果所有这些都在server端的一个过程中处理是非常可怕的事。你不得不需要一个大的case语句,也许这样庞大且不停膨胀case语句超越你的控制能力,逼迫你用更自由一点排比句if …then…,但这一切无疑都是一个痛苦的过程。
试想增加一项功能在server端代价: