2009年3月20日星期五

TelnetEngine重构 (2)

Dahui's Code Life: TelnetEngine重构,Connection, Protocol 以及 Command各司其职 (1)

Refact:
  • IConnection 的connect()方法重命名为open()、disconnect()改为close()、receiveText()改为receive()。
  • IResponseListener 改名为IReceiverListener,这样就可以与IConnection的receive()方法对应了。一个IConnection既是 sender也是receiver,有双重功能、角色。如果另外建立ISender, IReceiver,再让IConnection实现这个两个接口也是很有道理的。暂且不这么做吧,毕竟现在只有IConnection隐含有这样的角 色。
  • DslamTelnetProtocol重命名为DslamTelnetStreamParser,并且imeplements IReceiverListener。
  • Create another class WindowsTelnetStreamParser which implements the IReceiverListener。这样就可以对设计进行脱离设备的调试。先复制DslamTelnetStreamParser的代码过来,这样以后可以再考虑哪些可以提取到父类中。
  • Create a data class WindowsTelnetConstantData。这个类包含处理window Telnet客户端需要的一些常量,比如欢迎字符串、login提示符、密码提示字串、More page提示等。
  • 问题:如何把输入反馈给外面的一层?

Refact:
  • ResponseReceiverThread 设计成为TelnetConnection的内部类。毕竟这个thread只供TelnetConnection使用。