版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MVC设计模式2023/11/82内容提要设计原则设计模式MVC模式MVC模式具体实例MVC模式的优缺点设计原则面向对象开发的五大原则SOLID2023/11/84五大设计原则1、单一职责原则
(SingleResponsibilityPrinciple):每个方法或类应当有且仅有一个改变的理由。这意味着每个方法或类应当做一件事情,或者只有一项职责。2、开闭原则(OpenClosePrinciple)开闭原则就是说对扩展开放,对修改关闭。3、里氏代换原则(LiskovSubstitutionPrinciple)里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。2023/11/85五大设计原则4、接口隔离原则(InterfaceSegregationPrinciple)这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。5、依赖倒转原则(DependenceInversionPrinciple)真对接口编程,依赖于抽象而不依赖于具体。设计模式2023/11/87什么是设计模式Patterns,顾名思义,具有某种重复性规律的方案。定义1:DesignPatterns,就是设计过程中可以反复使用的、可以解决特定问题的设计方法。
定义2:DesignPatternisasolutiontoaprobleminacontext.
也就是说,设计模式是针对特定上下文的特定问题的解决方案,这种解决方案被抽象化、模版化,就是设计模式。2023/11/88什么是设计模式设计模式是前人留下的经验,相当于武侠小说中的武林秘籍,所谓的编程语言,就是内功招式。其实设计模式的核心就是高内聚,低耦合。MVC2023/11/810MVC设计模式MVC模式的目的是实现一种动态的程式设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)2023/11/811MVC=Model+View+Controller模型(
Model)
–模型持有所有的数据、状态和程序逻辑,是应用程序的核心。视图(View)
–代表用户交互界面,用来显示数据。控制器(
Controller)-负责转发请求,对请求进行处理2023/11/812MVC模式ControllerModelView用户请求改变状态通知改变改变显示状态查询①②④③⑤事件方法调用2023/11/813Model2-基于MVC模式的架构MVC实例基于SSH架构的网上商城系统2023/11/815MVC实例——网上商城系统基于JavaEE的多层体系结构数据库服务器数据访问层持久化层显示层业务逻辑层浏览器Web服务器2023/11/816MVC实例——网上商城系统MVC基于JavaEE的应用模型图浏览器ControllerServlet/ActionVIEW*.jsp/*.htmlModel数据库服务器业务逻辑数据访问Web服务器显示层数据层业务层2023/11/817视图2023/11/818控制器//用户和密码正确,添加会话//此处调用Model的对象if(userService.loginUser(un,ps)){session.removeAttribute("userName");session.setAttribute("userName",un);session.setAttribute("nonMessageCount",list.size());//struts通过预先设置好的struts.xml,跳转到显示层return
SUCCESS;}else{result
="用户名或密码错误!";ctx.getSession().put("loginCount",loginCount);ctx.put("message",result);return
ERROR;}2023/11/819模型//判断用户登录状态public
booleanloginUser(Stringusername,Stringpassword){Useruser=userDao.findByUsername(username);if(user!=null&&user.getPassword().equals(MD5Main(password))){return
true;}else{return
false;}}2023/11/820MVC的优点1)分工明确:使用MVC可以把数据库开发,程序业务逻辑开发,页面开发分开,每一层都具有相同的特征,方便以后的代码维护。方便多开发人员间的分工。2)
松耦合:视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。2023/11/821MVC的优点3)重用性高:视图控制模型分离,提高代码重用性。
4)可移植性:因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。2023/11/822MVC的缺点1)清晰的构架以代码的复杂性为代价,对小项目优可能反而降低开发效率。2)运行效率相对较低。3)控制层和表现层有时会过于紧密,导致没有真正分离和重用
2023/11/823总结MVC本质上是解耦,让UI和逻辑,数据分离
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抗洪抢险应急预案例文(6篇)
- 管道改造安装合同模板
- 2024解读借款合同中不同利息条款约定的财税处理
- 2024年初中理化生教研组工作计划(7篇)
- 家电安装拆除合同范例
- 二零二四年度企业环保设施运营维护合同
- 2024年在全县职业病防治动员大会议上的讲话例文(4篇)
- 安全岗位管理制度模版(2篇)
- 化学工业企业供用电管理制度样本(2篇)
- 2024建筑工程合作协议合同范本
- 《税收基础》课程标准
- 亲子幼儿足球活动方案5篇
- 初中音乐《器乐和欣赏课》课件
- CSD-819C校准说明
- 微处理器系统结构与嵌入式系统设计(第二版)答案全
- 施工单位进场通知书(项目部致施工单位)
- 特种工程塑料聚芳醚酮
- 双梁桥式起重机变频改造方案
- 素描基础(课堂PPT)
- 去分母解一元一次方程专项练习有答案 ok
- GDX2包装机组工艺流程简介
评论
0/150
提交评论