关于包名(package)划分问题

具体是层次优先还是模块优先?

举个简单例子,com.公司名.项目名称.下一层的包就应该是 
1.层优先的话: 
com.xxx.xxx.action 
com.xxx.xxx.service 
com.xxx.xxx.dao 
2.模块优先的话: 
com.xxx.xxx.user 
com.xxx.xxx.card 
com.xxx.xxx.person 

下面是网友的一个回答,我认为比较合理:

模块划分,还是层级划分,要考虑一些客观情况,如下: 
1、如果涉及团队协作开发,建议按模块划分。因为业务模块之间的耦合性相对于层级的耦合性要低,这样程序员在开发模块时,基本上要开发action、service、orm,这样开发的接触面比较全,而且基本上不需要与其它模块进行交互,减少沟通交流时间,能提高开发效率。如果按照层级划分,那么多人开发时,会存在action依赖service,而service由别人开发,会涉及到交流、沟通(如:action需要的业务方法,需要先告诉service开发人员……等等若干情况) 

2、如果独立开发,只要结构清晰,后期维护方便,怎么划分都可以。 

目前我经常遇到的结构如下(base名称可以换为core、frameword均可以,看习惯了): 
com.公司名.项目名称.base(基础模块顶级包) 
com.公司名.项目名称.base.security(安全相关) 
com.公司名.项目名称.base.remote(远程服务相关) 
com.公司名.项目名称.base.config(配置相关,提供业务模块配置信息) 
com.公司名.项目名称.base.web(web相关,提供通用的拦截器、监听器、标签等等) 
com.公司名.项目名称.base.utils(工具包) 

下面这个module是比较大的模块,可以在module中继续细分 
com.公司名.项目名称.modules.module1 
com.公司名.项目名称.modules.module2 
com.公司名.项目名称.modules.module3 

这样的包结构,对于20左右的开发团队来说,目前感觉还不错,仅供参考。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值