这篇文章就当随便看看吧,纯属个人无聊写的,当然也不完全是无聊,因为之前的一个小项目让我有点抓狂,所以想着写这篇文章来提醒一下自己,就当看着玩玩吧。
之所以抓狂,是因为我感觉之前的项目设计的有点烂,让我感觉心里一直压着块石头放不下。
一个内容管理系统的实现,之前有考虑过扩展性,但是后面貌似不太理想,为了方便,没有实现参数化查询,而是每个参数查询一个方法,这里真是弄的太烂了我,先自嘲一下,其实这样的结果只会出现更多冗余的代码,工作量也增加了。
项目的整体:
整个项目的处理,没有使用到框架,因为想自己实现高效的MVC,但是实际上用了很多请求转发,所以我对servlet的数量控制的已经很少了,说到这里,servlet是线程不安全的,多用户请求很有可能出现数据的不一致,如果这里使用Struts2框架,可能就不会出现这个问题,当然这里感觉不用使用Spring,因为毕竟项目较小,如果用Spring来解耦也没有太多必要,毕竟业务并不复杂,耦合性也不是很高。
程序的逻辑:
某些程序的逻辑感觉写复杂了,本来这种应该是越简单越好,当时思路弄复杂了一点。
数据库方面:
这个感觉可以使用数据库连接池技术,虽然可能用户并不多,而且线程的数量方面如果设计的不合理,可能会起反作用,但是还是感觉可以加上
算法方面:
我记得有个树的算法,我使用的递归实现,虽然这种遍历数据不是很多的情况下,可能不会有啥,但是还是用非递归好点,但是我却没有改过来,因为没空,吐槽一下自己
页面处理方面:
这个是我感觉比较糟糕的,开始的时候分页并没有用到ajax,而且开始都是文字方面的,但是后来增加的图片功能,让我感觉之前没用ajax是很不好的习惯(当然并不是建议过量用),虽然平时的项目一般都用到了ajax按需获取资源,但是当时偏偏就没用,这不仅仅用户的体验不好,一下加载这么多数据,服务器的消耗也让人担心
url的处理:
我没有使用伪静态,这种暴露在人家眼皮底下的地址中的数据,是很想让黑客来攻击玩玩吗,晕了,不过后面是要加上的,所以只是吐槽一下自己
当然数据库的设计还是要按照范式来进行设计的,用户的权限要做限定,数据的备份要做处理,不然,被黑掉数据就完了。
当然因为是个小项目,我没有用到ORM框架,感觉有点想多了,接口的设计也要合理。
纯属无聊,随便写写