《第七章mvc模式.ppt》由会员分享,可在线阅读,更多相关《第七章mvc模式.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章第七章MVCMVC模式模式MVC模式的基本概念View组件的功能和实现技术。Control组件的功能和实现技术。Model组件的功能和实现技术。MVC中的分层模式。授课大纲授课大纲基本概念:MVC(Model-View-Controller,模型-视图-控制器模式)用于表示一种软件架构模式。把软件系统分为三个部分:模型,视图和控制器。目的:实现一种动态的程序设计,是后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。MVCMVC模式的基本概念模式的基本概念MVCMVC模式的信息管理系统模式的信息管理系统作用:实现业务数据的输入和显示,外部对象与系统进行交互和通信要通过视图层
2、。一般视图就是为操作者显示的窗口界面,操作者通过该窗口来进行系统管理。职责:与操作者进行交互功能:(1)提供数据输入的机制。如表单。(2)显示业务数据。1)列表方式 2)详细方式ViewView组件组件视图层视图层作用:用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。模型有对数据直接访问的权利,模型不依赖与视图和控制也就是他不关心如何被显示和被操作。职责:业务处理。主要功能:(1)表达业务数据:表达存储在数据库中的业务数据。(2)业务数据持久化:将业务数据保存到数据库中。(3)业务处理方法:管理系统的核心功能是模拟业务代理,代替人工的处理模式,实现信息管理的高效率和低成本。Mode
3、lModel组件组件职责:协调View和Mode组件,控制整个系统的流程,接收客户端请求,并调用Model组件对其作出响应。主要功能:(1)取得View提交的数据(2)验证View数据的合法性(形式和业务)(3)View数据的类型转换(4)调用Model业务处理方法(5)保存Model业务数据给View组件(6)导航到指定View组件。ControlControl组件组件Java EEJava EE框架下的框架下的MVCMVCView:JSP+EL+JSTLControl:ServletModel:JavaBeanJavaEEJavaEE平台平台MVCMVC实现实现MVCMVC模式分层结构模式
4、分层结构UIO:视图层CO:控制层BO:业务层实现业务逻辑PO/DAO:持久层向数据库实现数据持久化操作DTO/VO:传输层在各层之间传递数据时,依赖传递层实现,需要实现序列化接口SerializableMVCMVC模式分层结构模式分层结构每层的设计思想每层的设计思想面向接口设计原则,通过接口向上层暴露业务方法,每层由接口,接口实现类和工厂类组成。详细的详细的MVCMVC分层架构分层架构HTMLJSPELJSTLViewView设计设计控制类由Servlet充当,具有Servlet中常见方法。Action 控制类的设计 类命名:处理功能名称+Action 包名:域名.项目名.模块名.actio
5、n如:com.city.oa.action.LoginAction,控制类设计控制类设计用于封装表的记录值,每个表1个类。类对应表,对象对应记录,属性对象字段。使用关联关系表达类之间的对应关系,与表的外键对应。每个属性一对get/Set方法。包:domain.projectname.value类名:实体类名+”Value”如:com.city.oa.value.UserValuecom.city.oa.value.POValuecom.city.oa.value.EmployeeValueVO/DTOVO/DTO类设计类设计BO接口:定义BO业务功能 命名:OOA实体名称 包名:domain.
6、project.business 如:com.dashang.erp.business.UserBO实现类:实现BO接口的功能 命名:OOA实体类Impl 包:domain.project.business.impl 如:com.dashang.erp.business.impl.UserImplBO工厂:命名:BusinessFactory 包:domain.project.business.factoryBOBO类类(Business Object)(Business Object)DAO接口:定义CRUD方法 命名:OOA实体类名称+DAO 包:domain.project.daoDAO实现类 命名:OOA实体类+DAOImpl 包:domain.project.dao.impl 如:com.dashang.erp.dao.impl.UserDAOImplDAO工厂 命名:DAOFactory 包:com.project.dao.factoryDAODAO类类(Data Access Object)(Data Access Object)设计设计