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. Openjudge-NOI题库-变幻的矩阵

     题目描述 Description 有一个N x N(N为奇数,且1 <= N <= 10)的矩阵,矩阵中的元素都是字符.这个矩阵可能会按照如下的几种变幻法则之一进行变幻(只会变幻一次). ...

  2. spark MLLib的基础统计部分学习

    参考学习链接:http://www.itnose.net/detail/6269425.html 机器学习相关算法,建议初学者去看看斯坦福的机器学习课程视频:http://open.163.com/s ...

  3. 私有云Rabbitmq 集群部署

    默认openstack使用rabbitmq做信息队列,如果想要是云高可用,那么需要对每个涉及的组件都进行高可用配置,本文介绍如何使用rabbitmq 做高可用 高可用方法 通过 Erlang 的分布式 ...

  4. Android Game Examples

    Game2 using UnityEngine; using System.Collections; public class Game2_Player : MonoBehaviour { publi ...

  5. Delphi @ # $ 特殊字符含义

      ^: 指针   @: 取址  #: 十进制符   $: 十六进制符

  6. Java多线程:线程同步与关键字synchronized

    一.同步的特性1. 不必同步类中所有的方法, 类可以同时拥有同步和非同步方法.2. 如果线程拥有同步和非同步方法, 则非同步方法可以被多个线程自由访问而不受锁的限制. 参见实验1:http://blo ...

  7. HDU 5829 Rikka with Subset

    快速数论变换ntt. 早上才刚刚接触了一下FFT,然后就开始撸这题了,所以要详细地记录一下. 看了这篇巨巨的博客才慢慢领会的:http://blog.csdn.net/cqu_hyx/article/ ...

  8. 第一百零七节,JavaScript基本包装类型,数据类型的方法

    JavaScript基本包装类型,数据类型的方法 学习要点: 1.基本包装类型概述 2.Boolean类型 3.Number类型 4.String类型 为了便于操作基本类型值,ECMAScript提供 ...

  9. 记第一届 CCCC-团体程序设计天梯赛决赛 参赛

    其他都没什么,上午报道,下午比赛两个半小时,最后139分 但四我超遗憾的是,最后在做L3-1二叉搜索树,因为看到有辣么多人做出来,可是我没做出来啊 比赛结束后看了看其他两道当场吐血,L3-3直捣黄龙不 ...

  10. PAT 团体程序设计天梯赛-练习集 L1-005. 考试座位号

    每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座 ...