com.xxx.xxx.config
com.xxx.xxx.constants
com.xxx.xxx.controller
com.xxx.xxx.controller.user
com.xxx.xxx.controller.role
com.xxx.xxx.controller.product
...
com.xxx.xxx.service
com.xxx.xxx.service.user
com.xxx.xxx.service.role
com.xxx.xxx.service.product
...
com.xxx.xxx.domain
com.xxx.xxx.domain.user
com.xxx.xxx.domain.role
com.xxx.xxx.domain.product
...
com.xxx.xxx.dao
com.xxx.xxx.dao.user
com.xxx.xxx.dao.role
com.xxx.xxx.dao.product
...
...
com.xxx.xxx.config
com.xxx.xxx.constants
com.xxx.xxx.modules
com.xxx.xxx.modules.user
com.xxx.xxx.user.dao
com.xxx.xxx.user.service
com.xxx.xxx.user.controller
com.xxx.xxx.user.domain
...
com.xxx.xxx.modules.product
com.xxx.xxx.product.dao
com.xxx.xxx.product.service
com.xxx.xxx.product.controller
com.xxx.xxx.product.domain
...
...
...
我个人的理解是第一种结构对于你要找到某个controller或者service之类的都会比较快速的找到,因为都放在同一级包名下,但缺点是如果一旦controller比较多时,打开这个包就会一大堆,反而不便于找到相应的类;那么第二种结构的好处是对于很多业务模块都很清晰的把代码给划分到各个包下了,缺点就是有的类是在业务之间的中间类,比较难以确定需要放置于哪一个包之下。大家点评一下,或者有无更好方案。
领域驱动设计(DDD):三层架构到DDD架构演化
https://www.cnblogs.com/OceanHeaven/p/17652906.html
去招聘网站搜索 DDD,看看热度。
应用软件架构师 尽量要熟悉 DDD 吧。
推荐第二种,先领域分包,再功能分包。
用框架,根据框架的结构来决定包结构