之前写了一些程序,写来写去发现自己的代码水平并没有很大的提高,总是在写同一水平的代码。渐渐地,我发现自己许多的不足,比如太注重与细节,总是希望搞清楚每一个的缘由,这样很累,而且意义不大。再比如,命名不规范,总是在写一些重复性的代码,而且代码的耦合度比较高,需求一旦发生变化,代码修改起来非常的繁琐。
于是,我试图做出一些改变
- 在一定程度上忽略细节
- 每个代码尽量写JUnit单元测试(这一点很早就开始做了)
- 减少代码的耦合度
在Dao层:
- 建立BaseDao<T>接口,完成基本的增加、删除、更新、查找(一个或者多个)
- 建立抽象类BaseDaoImpl<T>实现BaseDao接口,实现所有类,专门用于继承
- 建立各个基本的Dao的实现(如UserDaoImp等)
在service层:
- 建立BaseService<T>接口,完成基本的单体业务的增加、删除、更新、查找等
- 建立抽象类BaseServiceImpl<T>实现BaseDao接口,实现所有类,专门用于继承
- 针对业务逻辑建立Service的实现,并不是一个Dao对应一个service,往往很多情况是一个service对应多个Dao
在Action层:
- 将struts2与servlet解耦,采用其他方式获取Session、Request
- 注意ModelDriven和Prepare方法的使用,能够将action与model层的耦合度降低
Hibernate出现实体无法映射的问题
- 实体包是否被扫描
- 注解Entity对应实体在hibernate中的逻辑mingcheng
- 注解Table对应实体对应数据库中表的名称
其他
- 最好能将自己所犯错误及解决方案记录下来,以免以后再次出现
- 重复性很多的代码封装成类
知识不足之处
- 泛型反射那边还是有点迷糊
- Struts2的标签什么的
- hibernate一对多,多对一...映射关系