外面有点凉了,赶着回宿舍吃点东西,今天就长话短说了。
开发进度总体不慢,今天基本上把管理员的基本功能实现了,从登录到管理都可以用图形化界面进行操作,在进行跟数据库会话的时候,本机操作速度可以,用其他Windows的主机测试的时候有一定的网络延时,总体上这部分开发先告一段落,下面进行Orange客户聊天模块的开发了。
今天在原有的一个JTable的基础上又写了两个个带有JTable的窗体,分别完成了数据库中所有管理员、所有客户、所有在线客户的显示。忽然发现一个很有意思的问题,当我们完成一个功能的时候有时候很容易,当我们想完成与这个功能相似的一些其他模块时候,总是不自觉地想要代码复用,于是会封装,于是会重载,完成第二个功能可能要话更长的时间,可一但将基础代码都封装好以后,第三个,第四个功能立刻就呼之欲出了,不止一次地有这样的体会了,第一次实现完全为了测试,所以代码比较凌乱,甚至很多功能集中在一个静态方法里面,测试完成后这样的代码很多需要整理封装以便下面的模块能够复用。举个例子吧,在跟数据库会话的时候,每次会话都要加载MySQL的驱动,进行服务器连接,这都是一成不变的语句,于是可以建一个session包,然后创建一个AdminSession类和SessionWrap类,前者用来完成管理员对于数据库的相关连接,后者用来封装数据库基本操作如建立连接和关闭连接,以及其中的一些异常处理。
发几张图片,纪念我的OrangeManager的发布:
![](http://fm281.img.xiaonei.com/pic001/20071204/22/11/large_7734j68.jpg)
![](http://fm271.img.xiaonei.com/pic001/20071204/22/11/large_7916k68.jpg)
![](http://fm281.img.xiaonei.com/pic001/20071204/22/11/large_7788o68.jpg)
开发进度总体不慢,今天基本上把管理员的基本功能实现了,从登录到管理都可以用图形化界面进行操作,在进行跟数据库会话的时候,本机操作速度可以,用其他Windows的主机测试的时候有一定的网络延时,总体上这部分开发先告一段落,下面进行Orange客户聊天模块的开发了。
今天在原有的一个JTable的基础上又写了两个个带有JTable的窗体,分别完成了数据库中所有管理员、所有客户、所有在线客户的显示。忽然发现一个很有意思的问题,当我们完成一个功能的时候有时候很容易,当我们想完成与这个功能相似的一些其他模块时候,总是不自觉地想要代码复用,于是会封装,于是会重载,完成第二个功能可能要话更长的时间,可一但将基础代码都封装好以后,第三个,第四个功能立刻就呼之欲出了,不止一次地有这样的体会了,第一次实现完全为了测试,所以代码比较凌乱,甚至很多功能集中在一个静态方法里面,测试完成后这样的代码很多需要整理封装以便下面的模块能够复用。举个例子吧,在跟数据库会话的时候,每次会话都要加载MySQL的驱动,进行服务器连接,这都是一成不变的语句,于是可以建一个session包,然后创建一个AdminSession类和SessionWrap类,前者用来完成管理员对于数据库的相关连接,后者用来封装数据库基本操作如建立连接和关闭连接,以及其中的一些异常处理。
发几张图片,纪念我的OrangeManager的发布:
![](http://fm281.img.xiaonei.com/pic001/20071204/22/11/large_7734j68.jpg)
![](http://fm271.img.xiaonei.com/pic001/20071204/22/11/large_7916k68.jpg)
![](http://fm281.img.xiaonei.com/pic001/20071204/22/11/large_7788o68.jpg)