您的位置:首页 > 其它

从ET2开发中领悟到的 续

2008-08-05 11:32 190 查看
1、DAO接口增、删、改操作 针对每张表进行设计

2、检索单条记录详情也可以针对每张表进行设计,然后在业务层使用其他DAO接口进行组装成需要的领域对象(这里可以考虑缓存,这样就尽量避免多次访问数据库)。如果考虑到效率,也可以进行联合查询,特别是一对多和一对一的情况,对返回的记录进行组装得到需要的领域对象。

3、如果是针对单个数据库的系统,分页尽量在数据库中进行,所以进行表关联查询,同时需要返回次表的信息时,1)主表和次表是一对一或者多对一的关
系,那么直接返回次表信息;2)主表和次表是一对多的关系,则只返回主表的信息,次表信息,通过DAO接口重新一次SQL查询 。

4、对数据库进行更新的操作,一定需要将操作发生时的状态(可能包括很关键字段)作为条件进行更新,防止并发更新的情况发生。

5、设计领域对象时理清领域对象之间的关系和他们的业务操作,不太复杂的业务逻辑判断和操作尽量在领域对象中完成,如果业务比较复杂可以借助helper类来帮助完成业务运算,领域对象不完成持久化的工作,将持久化工作委托给外部业务类来进行。

6、所有常量,包括数据库中的状态、类型、标志等字段,使用单独的常量类或者枚举类来完成,任何地方都取其引用,不允许直接使用常量值进行逻辑判断,最好使用一个布尔方法在领域对象中完成判断。

7、状态变换比较复杂的系统,考虑使用状态模式来进行设计。

8、DAO接口中不进行任何数据库事务控制,事务代码全部根据业务规则在业务层中进行,所以最好使用AOP来完成事务(考虑Spring),在业务层中对只是查询的业务方法也开启只读事务,防止多表查询时其他操作可能改变数据库造成查询结果不一致。

9、设计一个Result类在业务层返回结果和出错信息,所以出错信息使用ResourceBoudle来读取外部配置信息。所有异常都在最后一级业务层中进行处理,例如daoException.

10、。。。。。。等待继续发现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: