Java Web目录结构改进探讨

288 阅读1分钟

不恰当的目录结构会让代码很自然的变得难以重构,最后变成开发者的焦油坑。

通常MVC项目的目录结构

下述目录结构随代码增多而渐渐变的力不从心,最明显的是文件之间的依赖关系变得错综复杂。

|---- common 通用模块
   |--- exception
   |--- util
   |--- ...
|---- XXXX 业务模块
   |---- controller 控制器
   |---- service 业务逻辑
   |---- dao 持久层
   |---- model 数据库表映射实体类
   |---- dto
   |---- ...
 |---- ...  

改进的目录结构

下述目录结构通过增加目录层级,提高各层内的内聚和降低各层之间的耦合,把混乱代码造成的影响范围降低。

|--- common 通用模块
   |--- exception
   |--- util
   |--- ...
|--- XXXX 业务模块
   |---- application
      |---- controller 控制器
      |---- ... 更多的比如任务调度处理器
   |---- business 业务层
      |---- service
      |---- ... 更多的比如领域驱动对象
   |---- persistence 持久层
      |---- dao
      |---- mapper
      |---- entity 数据库表映射实体类
   |---- dto
   |---- util
 |---- ...