根包名

结构:com.公司名

示例:com.sicheng

三大模块的包名

结构:com.公司名.3大模块名

三大模块对应3个单词,

  • 前台:front
  • 会员中心:member
  • 管理后台:admin

示例:

  1. com.sicheng.front  (前台、商铺、cms)
  2. com.sicheng.member  (会员中心)
  3. com.sicheng.admin  (管理后台)
  4. com.sicheng.common  (共用部分)

前一篇文章论述了通用平台有三大角色和三大模块,当开发高并发分布式系统时,三大模块可独立成三大系统。

所以在设计包结构时,要体现出三大模块,又方便以后独立成三个不同的系统时可按包拆分。

子业务模块包名

结构:com.公司名.3大模块名.子业务模块名.mvc名包

示例:

  1. com.sicheng.front.channel.web  (控制层)
  2. com.sicheng.front.channel.service (服务层)
  3. com.sicheng.front.channel.dao (数据访问层)
  4. com.sicheng.admin.user.web
  5. com.sicheng.admin.user.service
  6. com.sicheng.admin.user.dao

MVC开发模式中必有的3个包,web包、service包、dao包,这3个包要放在“子业务模块包”下面。这也是有多方面的考虑的。

  1. 用代码生成工具生成代码时,一个“子业务模块”的文件(controller包、service包、dao包)都放在一块,方便管理替换删除。
  2. 比如开发cms系统,想基础版本是免费的,高级版本是收费的。高级版本比基础版本多了几个收费的高级模块,如工作流模块、高级权限模块。按“子业务模块”区分,方便增减模块。

发展预测

这种包结构设计,为以后程序的发展留足了空间。

发展一:成长为大型分布式系统,三大模块可独立成三大系统。 解决:按三大模块包名一拆分就可独立部署了。(共用部分要复用)

发展二:产品细分,分为基础版与高级版本,可方便增减“子业务模块”,对原有模块不影响,好管理。