action+form = model
actionservlet+struts-config.xml= controller
jsp+自定义标签=veiw
model与veiw可以分离编写(事实上没见过这么开发的)
之后用xml把这两边织在一起....
本文为开源供应链系统代码说明第一部分,主要说明系统架构。
一、系统框架
系统采用Struts框架,并对MVC结构作了更进一步的扩充,基本结构如下:
jsp(View) --> Action(Control)
--> Logic (Control) --> Biz (Control) --> DAO --> DB
|
图一:系统框架层次
Entity是在各层间传递数据,应用范围最为广泛;
Form层继承自ActionBaseForm,主要在页面文件(JSP)和Action层之间传递数据;
Action层各对象均继承自DispatchAction;
Logic 层主要完成包括用户权限在内的业务逻辑处理功能;
Biz层(Business的接口)主要完成数据逻辑功能,例如关联表的检查和处理;
DAO层分DAO接口层和DAO实现层。
Biz层只能调用DAO接口层,实现系统与数据库的相对独立性;
DAO实现层最终完成与物理数据库的操作,它对Biz层是不可见。
三、类命名规范
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
6. DAO接口层:
命名规则:类名称 = 类前缀 + Object + 类后缀,其中类前缀为I,后缀为 Dao,如:ISalesOrderDao
7. DAO实现层 :
继承关系:所有类继承自BasicDaoObject,其中BasicDaoObject实现Dao实现层异常的统一处理;;
命名规则:类名称 = Object + 类后缀,其中类后缀为 Impl,如:SalesOrderImpl
- 大小: 18.5 KB
分享到:
相关推荐
在`composer.json`文件中配置自动加载规则,将上述命名空间映射到对应的文件目录: ```json { "autoload": { "psr-4": { "App\\": "app/" } } } ``` 通过以上步骤,我们就可以构建一个基于命名空间的简单...
在Java Web开发中,MVC模式通常与数据库交互紧密关联,以下将详细介绍如何使用MVC模式连接数据库以及各层的职责和命名规范。 1. 数据访问层(DAO - Data Access Object): 数据访问层是直接与数据库进行交互的层...
本篇文章将深入探讨Android开发中的命名规范,尤其是包名的定义及其相关规则。 #### 一、标识符命名方法 Android编程中常用的标识符命名方式主要包括以下几种: 1. **小驼峰命名法**:适用于变量和方法的命名,首...
以下是对"Struts2命名规范"的详细解释: 1. **包名**:在Java编程中,包名是组织类的一种方式,它定义了类的命名空间,防止类名冲突。对于Struts2应用,通常推荐采用反向域名的方式作为包名,例如,如果你的网站...
这个源码包显然包含了一个使用ASP.NET MVC和三层架构开发的项目实例。三层架构通常指的是数据访问层(DAL)、业务逻辑层(BLL)和表示层(UI),这种架构设计有助于分离关注点,提高代码的复用性和可测试性。 `...
【标题】"mvc.zip_C++ mvc_mvc_mvc c++" 提示我们这个压缩包文件的内容与C++编程语言以及MVC(Model-View-Controller)设计模式相关。MVC是一种广泛应用于软件工程,尤其是Web应用开发中的架构模式,它将应用程序...
在起始页中,选择“新建项目”,然后在“新建项目”对话框中,选择“Visual C#” -> “Web” -> “ASP.NET MVC 3 Web应用程序”,并为项目命名。在“新ASP.NET MVC3项目”对话框中,选择“Internet应用程序”,并...
编码规范通常包括命名约定、注释规则、代码结构等方面,对于提升代码质量至关重要。 综上所述,这个压缩包为EXTJS4.2的学习提供了一套完整的资料,从基础知识到进阶技术,再到架构设计和编码规范,涵盖了EXTJS开发...
在招聘网站中,表现层负责接收和展示用户界面,业务逻辑层处理业务规则和流程,数据访问层则用于与数据库交互。三层架构增强了模块化,降低了各层间的依赖性,提高了代码复用性和可测试性。 **Entity Framework(EF...
在ASP.NET MVC框架中,`System.Web.Mvc`命名空间包含了大部分核心类和接口,这些是构建MVC应用的基础。以下是一些主要的组成部分及其作用: 1. **Controller**: 这是所有控制器类的基类,负责处理HTTP请求并生成...
通过“文件”菜单的“新建项目”选项,选择“ASP.NET MVC 3 Web应用程序”,并为项目命名。在“新ASP.NET MVC 3项目”对话框中,选择“Internet应用程序”模板,并保持视图引擎为默认的“Razor”。 默认模板提供了...
在DotNet MVC中,模型通常由继承自`System.ComponentModel.DataAnnotations.DataAnnotations`命名空间中的类的实体类组成,这些类通过属性来表示数据,并使用数据注解来执行验证规则。 **视图(View)** 视图是用户...
这里的路由规则定义了URL与控制器方法之间的映射,使得系统可以根据URL自动调用相应的控制器和动作。 3. **控制器(Controller)**: 控制器是处理用户请求的核心部分,通常以`.cs`文件存在,命名约定为`...
3. **约定优于配置**:框架预设了标准的文件结构和命名规范,如控制器目录、模型目录、视图目录等,开发者只需按照这些约定来组织代码,减少了配置工作。 4. **路由机制**:ET-MVC具有灵活的路由规则,可以根据URL...
它们展示了如何在MVC应用中实现数据处理和业务规则。 通过分析这些文件和目录,我们可以深入了解PetShop项目是如何运用MVC模式来组织和实现功能的。例如,`OrderProcessor`可能包含了处理订单的业务逻辑,`...
它可以是简单的数据类,也可以包含复杂的业务规则和验证逻辑。模型对象通过控制器传递到视图,视图则根据这些对象来渲染内容。 8. **路由(Routing)**: ASP.NET MVC使用路由系统来映射URL请求到特定的控制器和...
下面将详细解释Java中的命名规范,包括类、包、方法、变量和常量的命名规则。 1. 类命名: 类名应使用大驼峰命名法(UpperCamelCase),通常由一个或多个名词或名词短语组成。例如,`ClassName`。接口名也可以包含...
英文变量名更能表达意义,如果名称过长,可以适当缩写,但需遵循Java命名规范。 7. 字段命名:数据库表名和字段名均使用小写英文,多词间参照Java命名习惯,如userN ame。字段名必须使用英文,若长度过长,可缩写,...
在.NET开发环境中,良好的命名规范对于代码的可读性、可维护性和团队协作至关重要。本文将深入探讨.NET程序命名规范,结合C#、ASP.NET以及SQL数据库相关实践,旨在提供一套全面的指导原则。 首先,我们要理解命名...
3. **加载机制**:框架会有一个自动加载机制,根据命名规则加载所需的类文件,减少手动引入文件的繁琐。 **三、模型(Model)** 在PHP简易MVC框架中,模型通常包含数据访问对象(DAO)和实体类。DAO负责与数据库交互...