MVC 包命名规范
action+form = model
actionservlet+struts-config.xml= controller
jsp+自定义标签=veiw
备注:这里说明的非常好
model与veiw可以分离编写(事实上没见过这么开发的)
之后用xml把这两边织在一起....
本文为开源供应链系统代码说明第一部分,主要说明系统架构。
一、系统框架
系统采用Struts框架,并对MVC结构作了更进一步的扩充,基本结构如下:

Entity是在各层间传递数据,应用范围最为广泛;
Form层继承自ActionBaseForm,主要在页面文件(JSP)和Action层之间传递数据;
Action层各对象均继承自DispatchAction;
Logic 层主要完成包括用户权限在内的业务逻辑处理功能;
Biz层(Business的接口)主要完成数据逻辑功能,例如关联表的检查和处理;
DAO层分DAO接口层和DAO实现层。
Biz层只能调用DAO接口层,实现系统与数据库的相对独立性;
DAO实现层最终完成与物理数据库的操作,它对Biz层是不可见。
备注:
这两句话对我也非常有启发性,对解决dao和service功能划分有很好的指导作用。
三、类命名规范
1. Entity层:
继承关系:所有类继承自BasicEntity, 其中BasicEntity实现 java.io.Serializable接口;
命名规则:类名称 = Object + 类后缀,其中类后缀为 Bean,如:SalesOrderBean
备注:我对比了几个项目基本是这样做的。
2. Form层:
继承关系:所有类继承自BasicForm, 由于本项目基于Struts结构,因此BaseForm继承自ValidatorForm;
命名规则:类名称 = Object + 类后缀,其中类后缀为 Form,如:SalesOrderForm
3. Action层:
继承关系:所有类均继承自BasicAction, 其中BasicAction实现Action层异常的统一处理;
由于本项目基于Struts结构,因此BaseAction继承自DispatchAction;
命名规则:类名称 = Object + 类后缀,其中类后缀为 Action,如:SalesOrderAction
4. Logic层:
继承关系:所有类继承自BasicLogicObject,其中BasicLogicObject实现Logic层异常的统一处理和权限检查,至于为什么要在这层进行权限的检查,主要考虑到未来提供SOA服务时升级的需要;
命名规则:类名称 = Object + 类后缀,其中类后缀为 Logic,如:SalesOrderLogic
5. Biz层 :
继承关系:所有类继承自BasicBizObject,其中BasicBizObject实现Biz层异常的统一处理;
命名规则:类名称 = Object + 类后缀,其中类后缀为 Biz,如:SalesOrderBiz
备注:我们项目中一般叫XXXService,但这里多了一个Logic层,可以意义就不一样了。
6. DAO接口层:
命名规则:类名称 = 类前缀 + Object + 类后缀,其中类前缀为I,后缀为 Dao,如:ISalesOrderDao
7. DAO实现层 :
继承关系:所有类继承自BasicDaoObject,其中BasicDaoObject实现Dao实现层异常的统一处理;;
命名规则:类名称 = Object + 类后缀,其中类后缀为 Impl,如:SalesOrderImpl
备注:我项目中是这样做的
文章来自:http://blog.csdn.net/yuzhouxiang/article/details/6794197
MVC 包命名规范的更多相关文章
- JAVA包命名规范
学习Java的童鞋们都知道,Java的包.类.接口.方法.变量.常量:JavaEE的三层模型等都有一套约定俗成的命名规则. 我学习每种语言都会关注相应的命名规则,一则体现自己比较专业:二来方便后检查, ...
- java 包命名规范
转载 原文地址:http://blog.csdn.net/kongjiea/article/details/45365753 Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统 ...
- java包 命名规范 [转]
Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由于 ...
- l【linux】linux rpm包命名规范
RPM包的一般格式为:name-version-arch.rpmname-version-arch.src.rpm name:软件包名称.version:带有主.次和修订的软件包版本.arch:硬件平 ...
- J2EE开发时的包命名规则
http://www.blogjava.net/paulwong/archive/2012/04/15/374675.html 转一个J2EE开发时的包命名规则,养成良好的开发习惯 代码编写规范目的: ...
- java开发命名规范总结
一 包名的书写规范 (Package)推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性.包名全部为小写字母,且具有实际的区分意义. 1.1 一般要求1.选择有意义 ...
- Java开发相关命名规范
JAVA文件命名规范 1.类命名 抽象类以 Abstract 或者 Base 开头.异常类以 Exception 作为后缀.枚举类以 Enum 作为后缀.工具类以 Utils 作为后缀(相应的包名最后 ...
- SSH框架项目开发命名规范
SSH 框架项目开发命名规范 一.各层包及类命名规范 总体原则:包名所有字母小写,类名采用 "驼峰标识",具体如下: 1. Action 类 包命名规范:co ...
- J2EE开发时的包命名规则,养成良好的开发习惯
代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯.代码编写规范使用范围:J2EE项目开发.包命名规范:目的:包的命名规范应当体现出项目资源良好的划分 servlet类 ...
随机推荐
- Lua: 给 Redis 用户的入门指导
转自:http://www.oschina.net/translate/intro-to-lua-for-redis-programmers 可能你已经听说过Redis 中嵌入了脚本语言,但是你还没有 ...
- php和node高并发 大数据量怎么处理
有的时候可能因为疏忽忘记注册Service直接就使用了,使用那个Service时会报异常.这种情况项目都是可以编译通过的,是一个不太容易发现的BUG,如果那个Service在测试时没有覆盖到这个BUG ...
- JAVA的if用法,比如if(...){} 和if()没有大括号直接写下面的区别是什么
有大括号的时候 大括号里面所有的 都归if管.只有条件为真的时候 才会执行.没有大括号的时候 只有下面的一句归if管,也就是说 当只有一句的时候 大括号可以省略 其它的 没区别.
- javaMail邮件发送的简单实现
package com.test.mail; import java.util.Properties; import javax.mail.Message; import javax.mail.Ses ...
- 集线器(HUB),交换机,和路由器的区别
交换机与集线器的区别从大的方面来看可以分为以下三点: 1.从OSI体系结构来看,集线器属于OSI第一层物理层设备,而交换机属于OSI的第二层数据链路层设备.也就意味着集线器只是对数据的传输起到同步.放 ...
- HTML Dom操作数据表
在QTP中有时候使用HTML Dom会带来事半功倍的效果,比如访问页面元素对象,对元素对象进行定位和获取属性值等,最近开始学HTML Dom的一些方法,属性,事件,修改等. 下面是通过HTML Dom ...
- token 小记
最近了解下基于 Token 的身份验证,跟大伙分享下.很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强, ...
- Tsung测试统计报告说明
Tsung测试统计报告说明 ********************** report.html *********************** 1.主要统计信息 Tsung统计数据是平均每十秒重 ...
- Adding DOM elements to document
1.JavaScript 添加DOM Element 执行效率比较: 抄自:http://wildbit.com/blog/2006/11/21/javascript-optimization-add ...
- CSS3的翻转效果
css3图片与文字3D transform切换: http://www.w3cplus.com/demo/419.html 详细的CSS3属性详解: http://www.zhangxinxu.com ...