整体可以看做是 Request > Control > ( Service > DAO > POJO ) > Response
POJO是数据实体类,最佳实践是与数据库物理表相对应,方便用工具进行生成,也易于理解。由于直接与物理表相对应,JFinal的ActiveRecord干脆取消了POJO类,由Record动态处理。
DAO直接操作实体类,做一些必要的校验、关联字段加工等,然后存储进数据库。注意DAO类之间相互间是没有关联的。
Service调用DAO进行业务逻辑的处理,可以调用多个DAO一起组合使用。
Control涉及参数收集、页面跳转的代码,并调用Service来完成业务功能。
看起来这一套代码组织起来会比较清爽。