根包名
结构:com.公司名
示例:com.sicheng
三大模块的包名
结构:com.公司名.3大模块名
三大模块对应3个单词,
- 前台:front
- 会员中心:member
- 管理后台:admin
示例:
- com.sicheng.front (前台、商铺、cms)
- com.sicheng.member (会员中心)
- com.sicheng.admin (管理后台)
- com.sicheng.common (共用部分)
前一篇文章论述了通用平台有三大角色和三大模块,当开发高并发分布式系统时,三大模块可独立成三大系统。
所以在设计包结构时,要体现出三大模块,又方便以后独立成三个不同的系统时可按包拆分。
子业务模块包名
结构:com.公司名.3大模块名.子业务模块名.mvc名包
示例:
- com.sicheng.front.channel.web (控制层)
- com.sicheng.front.channel.service (服务层)
- com.sicheng.front.channel.dao (数据访问层)
- com.sicheng.admin.user.web
- com.sicheng.admin.user.service
- com.sicheng.admin.user.dao
MVC开发模式中必有的3个包,web包、service包、dao包,这3个包要放在“子业务模块包”下面。这也是有多方面的考虑的。
- 用代码生成工具生成代码时,一个“子业务模块”的文件(controller包、service包、dao包)都放在一块,方便管理替换删除。
- 比如开发cms系统,想基础版本是免费的,高级版本是收费的。高级版本比基础版本多了几个收费的高级模块,如工作流模块、高级权限模块。按“子业务模块”区分,方便增减模块。
发展预测
这种包结构设计,为以后程序的发展留足了空间。
发展一:成长为大型分布式系统,三大模块可独立成三大系统。 解决:按三大模块包名一拆分就可独立部署了。(共用部分要复用)
发展二:产品细分,分为基础版与高级版本,可方便增减“子业务模块”,对原有模块不影响,好管理。