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 包命名规范的更多相关文章

  1. JAVA包命名规范

    学习Java的童鞋们都知道,Java的包.类.接口.方法.变量.常量:JavaEE的三层模型等都有一套约定俗成的命名规则. 我学习每种语言都会关注相应的命名规则,一则体现自己比较专业:二来方便后检查, ...

  2. java 包命名规范

    转载 原文地址:http://blog.csdn.net/kongjiea/article/details/45365753 Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统 ...

  3. java包 命名规范 [转]

    Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由于 ...

  4. l【linux】linux rpm包命名规范

    RPM包的一般格式为:name-version-arch.rpmname-version-arch.src.rpm name:软件包名称.version:带有主.次和修订的软件包版本.arch:硬件平 ...

  5. J2EE开发时的包命名规则

    http://www.blogjava.net/paulwong/archive/2012/04/15/374675.html 转一个J2EE开发时的包命名规则,养成良好的开发习惯 代码编写规范目的: ...

  6. java开发命名规范总结

    一 包名的书写规范 (Package)推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性.包名全部为小写字母,且具有实际的区分意义. 1.1 一般要求1.选择有意义 ...

  7. Java开发相关命名规范

    JAVA文件命名规范 1.类命名 抽象类以 Abstract 或者 Base 开头.异常类以 Exception 作为后缀.枚举类以 Enum 作为后缀.工具类以 Utils 作为后缀(相应的包名最后 ...

  8. SSH框架项目开发命名规范

    SSH 框架项目开发命名规范   一.各层包及类命名规范   总体原则:包名所有字母小写,类名采用 "驼峰标识",具体如下:   1. Action 类      包命名规范:co ...

  9. J2EE开发时的包命名规则,养成良好的开发习惯

    代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯.代码编写规范使用范围:J2EE项目开发.包命名规范:目的:包的命名规范应当体现出项目资源良好的划分 servlet类 ...

随机推荐

  1. sqlite创建数据库并创建一个表

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...

  2. 一个初学者的辛酸路程-python操作SQLAlchemy-13

    前言 其实一开始写blog,我是拒绝的,但是,没办法,没有任何理由抗拒.今天呢,要说的就是如何使用Python来操作数据库. SQLAlchemy SQLAlchemy是Python编程语言下的一款O ...

  3. TheFifthWeekText

    类的构造方法是当创建对象时,对象自动调用的对对象进行初始化的方法.他没有返回值,而且构造方法名与类名是相同的.如果类中没有定义构造方法,Java编译器在编译时会自动给它提供一个没有参数的默认构造方法, ...

  4. jquery对象介绍及一些jquery小特效

    一.jquery对象的介绍. 引入jquery库后,通过形如$("#id")的方式得到的对象叫做jquery对象.如var $uu = $("#username" ...

  5. 第一章 flume架构介绍

    1.flume概念介绍 1.1 常见的分布式日志收集系统                             Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的 ...

  6. MySQL5.5.28启动错误 The server quit without updating PID file

    今天重新安装了一次 MySQL5.5.28 ,但启动的时候老是报错 Starting MySQL.. ERROR! The server quit without updating PID file ...

  7. HTML5 中的新特性:

    一,用于绘画的 canvas 元素,<canvas>标签替代Flash Flash给很多Web开发者带来了麻烦,要在网页上播放Flash需要一堆代码和插件.<canvas>标签 ...

  8. wamp配置sendmail发送邮件

    下载 sendmail ( 地址: http://www.glob.com.au/sendmail/sendmail.zip ) [PHP.ini 配置] [mail function]; For W ...

  9. Linux help websites

    FAQ

  10. 正规消息发送器-- ESFramework 4.0 进阶(06)

    在ESFramework 4.0 进阶(04)-- 驱动力:通信引擎(下)一文末尾我们已经将通信引擎以及整个消息骨架流程组装起来了,只要通信引擎一接收到消息,框架就会按照规定的流程进行运转.到这里,自 ...