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 

Logo

开源、云原生的融合云平台

更多推荐