Kev*_*uli 7 java architecture aop packages
我曾经把所有东西放在像这样的包中:
com.company.app.module1
com.company.app.module2
Run Code Online (Sandbox Code Playgroud)
但它已经使基于包的AOP切入点变得困难,并导致需要IDE理解的大型包.
所以现在我意识到我需要一个更深层的包结构,但我经常被撕裂.给出模块首选项,像这样?
com.company.app.module1.domain
com.company.app.module1.logic
com.company.app.module1.persistence
com.company.app.module2.domain
com.company.app.module2.logic
com.company.app.module2.persistence
Run Code Online (Sandbox Code Playgroud)
或给出图层偏好,像这样?
com.company.app.domain.module1
com.company.app.domain.module2
com.company.app.logic.module1
com.company.app.logic.module2
com.company.app.persistence.module1
com.company.app.persistence.module2
Run Code Online (Sandbox Code Playgroud)
各有利弊?
模块一.
我有一个最初是第一层的项目,但它看起来太庞大,无法阅读和维护,所以我们重构了它.它也使用了AOP - 没有任何问题.我们只是..在包定义的中间使用(我们使用带有aspectj语法的spring aop).这是它的样子:
execution(* com.foo.app.modules..service..*.*(..))
Run Code Online (Sandbox Code Playgroud)
这匹配modules.module1.service和modules.module2.service
| 归档时间: |
|
| 查看次数: |
3060 次 |
| 最近记录: |