您的位置:首页 > 其它

关于QQ项目的一些总结

2008-07-19 19:35 405 查看
花了数周时间完成了 一个模仿QQ的聊天软件 主要使自己j2se的基础知识能够融汇

1.视图部分
由于是用j2se所制作的视图,而且缺乏可视化工具做起来还是蛮辛苦的。其中的mvc模式算是其中的一个精要吧。不过在这个项目中仅仅用到jtable的一些应用,用于更新表格数据时改动数据模式即可。其它的如布局部分其实并不难,不过很麻烦,调来调去。。
2.通讯部分
通讯部分一开始做的不是很顺利,主要是线程和socket,弄的很乱。其实只要将模式搞清楚都迎刃而解,无非是每当客户端连接到服务端时生成一个socket并产生相应线程,而且对于线程的理解必须是一个代码块,一个程序块这样,才能把它和socket分开。所以说应该是在线程中产生socket。还有就是发包收包的问题,我把协议中的其中一个元素定义为一个类,使得取得元素变得十分简单。还有一个关键点是当用户登录时将其线程和socket用一个类装起来,然后再放到集合中。这样关闭线程,以及发送私聊包等都会变得很容易。(遍历该集合即可)
3.数据存储问题
存储数据用了两个介质,xml以及oracle 并利用了工厂模式+DAO模式 工厂模式使得存储介质的转换变得十分容易(利用静态方法DAOfactory.createDAOIMPL() )可以完成不同的实现。DAO模式也是数据存储中利用十分广泛的模式。总的来说就是将数据库中的数据持久在一个类中,然后再通过实现完成。
4.代码结构问题
代码各个功能块耦合度过高,而且不是用单态模式而是将其实只实例化一次的类用传递的方式进行引用。嗯,写起来容易乱,而且也是不够巧妙的设计。总之改进的地方还有好多。很多功能其实都可以作为一个方法进行多次调用,不过由于没考虑清楚也没做成。失败。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: