java开发规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
保险展业系统开发规范
一、技术选型
<采用何种平台技术>,包含哪些Java技术?
二、命名规范
1)、文件名、变量名遵循公司的《Java开发规范》;
2)、数据库表名、列面遵循公司的《数据库开发规范》;
3)、Java包名约定如下:
i). 保险展业系统的英文名为“inswell”,因此所有的源代码包都基于“com.longtop.inswell”,再加上模块名,如:com.longtop.inswell.base.*
基础模块com.longtop.inswell.
base
Servlet servlet
设计模式pattern
服务组件servicecomponent
产品维护com.longtop.inswell.
product
产品
代理商
(insurer) insurer
省区信息area
打印项printitem
建议书com.longtop.inswell.
proposal
产寿险liefset
基本信息
方案case
话术管理template
模板template
利益benefit
打印
车险car
因子设置
费率表
算法设置
快速试算
试算
资讯中心com.longtop.inswell.
infor
知识库knowledge
分类管理
内容发布
保险/理财知识
新闻news
公告bulletin
友情链接friendlinks
公司简介introduction
客户管理com.longtop.inswell. 联系人linkman 基本信息
customer 联系信息
保单信息
偏好信息
人际关系
企业客户enterprise
承保客户taker
控制台与首页com.longtop.inswell.
console
首页homepage
菜单管理
工作台
内容管理cms
频道管理
栏目管理
栏目资源管理
大字段维护
频道模块设置
参数设置settings
动态属性设置
日志级别调整
事务跟踪
系统管理sysadm
机构管理organ
团队管理team
人员管理employee
用户管理user
角色管理role
权限管理permission
理财规划com.longtop.inswell.
finance 问卷survey
问题库
问卷模板
问卷规则
理财分析analysis
CRM com.longtop.inswell.
crm
线索lead
机会chance
约会appointment
关怀carefor
增员recruit
提醒reminder
日程、计划agenda
市场活动market
iii). 各个模块内部的层次命名:
web:存放模块执行的Action类,建议这些类以“**Action”命名,Action调用I**Service接口的public方法;
service:存放模块中应用DAO的类,建议以“**Service”命名,并且每个service都要有定义接口和实现,接口以“I**Service”
命名,并且service类与接口类不在同一个目录下,实现类在
接口类的下级包impl下,且命名规范是I**ServiceImpl;
model:存放模块中的数据模型类,建议以”**Bean”命名,属性名遵照
JavaBean标准,不能出现缩写,要求在Bean中所有属性有注释;
Comm:存放模块中的常量类、工具类,建议以“**Constants”做常量类命名规范,以“**Comm”做工具类命名规范;
iv). Hibnernate、IBatis语句、Spring注入Service命名
为了防止启动时加载出错,规定以上命名都必须加上模块名,如
“base.ICustomerService”,(base模块的可以省略)。如果需要Copy 代码或配置文件,务必保留其原有的目录结构。
V).IService接口方法命名如下:
新增数据:insertXXX()
修改数据:modifyXXX()
删除数据:deleteXXX()
新增+修改:saveOrUpdateXXX()
无条件查询:getXXX()
条件查询:queryXXX()
查询单个对象:findXXX()
Vi).Action方法的命名如下:
初始化:initExecute()
查看:viewExecute()
编辑:editExecute()
删除:delExecute()
增加:addExecute()
其它方法:*** Execute()
三、模块划分和依赖调用
模块名如上,各模块内部可以酌情再划子模块,要求避免各个大模块间的相互调用,尤其要杜绝交叉引用,但都可以调用base模块和控制台(之系统管理)模块,base模块由专人负责,发布的功能尽量以Action/JS注入方式(或者WebService)而非对外提供接口。
划分模块的意义在于适应平台的组件发布功能,最终目的是为了做到有选择地增减某些功能模块而不影响系统的正常运行。所以,我们约定:
1、模块之间调用最低要求---只能单向引用(比如模块A调用了模块B的
API,则模块B不能再调用模块A的API),即模块是父子关系的;
2、同一个数据库对象只能在一个包内定义,对它的增删改查都只能由一个
Service中维护;
3、页面链接不能直接是其它模块的URL;