java工程师面试必须知道的

上传人:luoxia****01805 文档编号:65837295 上传时间:2019-01-02 格式:PDF 页数:8 大小:387.48KB
返回 下载 相关 举报
java工程师面试必须知道的_第1页
第1页 / 共8页
java工程师面试必须知道的_第2页
第2页 / 共8页
java工程师面试必须知道的_第3页
第3页 / 共8页
java工程师面试必须知道的_第4页
第4页 / 共8页
java工程师面试必须知道的_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《java工程师面试必须知道的》由会员分享,可在线阅读,更多相关《java工程师面试必须知道的(8页珍藏版)》请在金锄头文库上搜索。

1、MVC 框架 MVC 全名是 Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计 典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个 部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑。MVC 被独特的发 展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。 目目 录录 1 简介 2 框架内容 1. 2.1 视图 2. 2.2 模型 3. 2.3 控制器 3 区别 4 常见 MVC 1. 4.1 Struts 2

2、. 4.2 Spring 3. 4.3 ZF 4. 4.4 .NET 5 特点 1. 5.1 优点 2. 5.2 缺点 6 外界评价 7Mvc 控件 简介简介 MVC 开始是存在于桌面程序中的,M 是指业务模型,V 是指用户界面,C 则是控制 器, 使用 MVC 的目的是将 M 和 V 的实现代码分离,从而使同一个程序可以使用不 同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C 存在的目 的则是确保 M 和 V 的同步,一旦 M 改变,V 应该同步更新。 1-2 模型视图控制器(MVC)是 Xerox PARC 在二十世纪八十年代为编程语言 Smalltalk80 发明的一种软件

3、设计模式,已被广泛使用。后来被推荐为 Oracle 旗下 Sun 公司 Java EE 平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很 多好处,但也有一些缺点。 3 (概述内容来源: 4) 2 2框架内容框架内容 MVC 是一个框架模式, 它强制性的使应用程序的输入、 处理和输出分开。 使用 MVC 应用程序被分成三个核心部件: 模型、 视图、 控制器。 它们各自处理自己的任务。 最典型的 MVC 就是 JSP + servlet + javabean 的模式。 5 视图视图 视图是用户看到并与之交互的界面

4、。对老式的 Web 应用程序来说,视图就是由 HTML 元素组成的界面,在新式的 Web 应用程序中,HTML 依旧在视图中扮演着重 要的角色,但一些新的技术已层出不穷,它们包括 Adobe Flash 和像 XHTML, XML/XSL,WML 等一些标识语言和 Web services. MVC 好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理 发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作 为一种输出数据并允许用户操纵的方式。 6 模型模型 模型表示企业数据和业务规则。 在 MVC 的三个部件中, 模型拥有最多的处理任务。 例如它可能用像 EJB

5、s 和 ColdFusion Components 这样的构件对象来处理数据库, 被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多 个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所 以减少了代码的重复性。 6 控制器控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击 Web 页面中的超链接和发送 HTML 表单时, 控制器本身不输出任何东西和做任何处理。 它只是接收请求并决定调用哪个模型构件去处理请求, 然后再确定用哪个视图来 显示返回的数据。 6 3 3区别区别 框架模式和设计模式的区别框架模式和设计模式的区别 有很多程序员往

6、往把框架模式和设计模式混淆,认为 MVC 是一种设计模式。实际 上它们完全是不同的概念。 7 框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通 常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用, 部分设计重用, 有时分析也可重用。 在软件生产中有三种级别的重用: 内部重用, 即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具 集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用 的或现成的基础结构,以获得最高级别的重用性。 框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反 复出现的问题以及解决

7、该问题的方案的描述,它比框架更抽象;框架可以用代码 表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式 是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对 某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而 设计模式是软件的知识。 框架模式有哪些? MVC、MTV、MVP、CBD、ORM 等等; 框架有哪些? C+语言的 QT、MFC、gtk,Java 语言的 SSH 、SSISSI,php 语言的 smarty(MVC 模 式),python 语言的 django(MTV 模式)等等 设计模式有哪些? 工厂模式、适配器模式、策略模式

8、等等 简而言之:设计模式是大智慧,用来对软件设计进行分工;框架模式是小技巧, 对具体问题提出解决方案,以提高代码复用率,降低耦合度。 4 4常见常见 MVCMVC StrutsStruts Struts 是 Apache 软件基金下 Jakarta 项目的一部分。 Struts 框架的主要架构设 计和开发者是 Craig R.McClanahan。Struts 是 Java Web MVC 框架中不争的王 者。经过长达五年的发展,Struts 已经逐渐成长为一个稳定、成熟的框架,并 且占有了 MVC 框架中最大的市场份额。但是 Struts 某些技术特性上已经落后于 新兴的 MVC 框架。面对

9、 Spring MVC、Webwork2 这些设计更精密,扩展性更强的 框架,Struts 受到了前所未有的挑战。但站在产品开发的角度而言,Struts 仍 然是最稳妥的选择。 Struts 有一组相互协作的类(组件)、Servlet 以及 jsp tag lib 组成。基于 struts 构架的 web 应用程序基本上符合 JSP Model2 的设计标准,可以说是 MVC 设计模式的一种变化类型。根据上面对 framework 的描述,很容易理解为什么说 Struts 是一个 web framework,而不仅仅是一些标记库的组合。但 Struts 也包 含了丰富的标记库和独立于该框架工作

10、的实用程序类。Struts 有其自己的控制 器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图 层 (View) 。 在模型层, Struts 可以很容易的与数据访问技术相结合, 包括 EJB, JDBC 和 Object Relation Bridge。在视图层,Struts 能够与 JSP, Velocity Templates,XSL 等等这些表示层组件相结合。 8 SpringSpring Spring 实际上是 Expert One-on-One J2EE Design and Development 一书中所 阐述的设计思想的具体实现。在 One-

11、on-One 一书中,Rod Johnson 倡导 J2EE 实用主义的设计思想,并随书提供了一个初步的开发框架实现(interface21 开 发包)。而 Spring 正是这一思想的更全面和具体的体现。Rod Johnson 在 interface21 开发包的基础之上,进行了进一步的改造和扩充,使其发展为一个 更加开放、清晰、全面、高效的开发框架。 Spring 是一个开源框架,由 Rod Johnson 创建并且在他的著作J2EE 设计开发 编程指南 里进行了描述。 它是为了解决企业应用开发的复杂性而创建的。 Spring 使使用基本的JavaBeans来完成以前只可能由EJB完成的事

12、情变得可能了。 然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度 而言,任何 Java 应用都可以从 Spring 中受益。 简单来说,Spring 是一个轻量的控制反转和面向切面的容器框架。当然,这个 描述有点过于简单。但它的确概括出了 Spring 是做什么的。 8 ZFZF Zend Framework(简写ZF)是由 Zend 公司支持开发的完全基于 PHP5 的开源PHP 开发框架, 可用于开发 Web 程序和服务, ZF 采用 MVC(ModelView-Controller) 架构模式来分离应用程序中不同的部分方便程序的开发和维护。 (MVC

13、框架的详细使用及其相关具体操作可以阅读参考资料: 8或者扩展阅读第 二,三,四条。) .NET.NET .NET MVC 9是微软官方提供的以 MVC 模式为基础的.NET Web 应用程序(Web Application)框架,它由Castle 的MonoRail 而来(Castle的MonoRail 是由java 而来),目前最新版本是.NET MVC 4.5。 10 5 5特点特点 优点优点 耦合性耦合性低低 视图层和业务层分离, 这样就允许更改视图层代码而不用重新编译模型和控制器 代码, 同样,一个应用的业务流程或者业务规则的改变只需要改动 MVC 的模型层 即可。 因为模型与控制器和

14、视图相分离,所以很容易改变应用程序的数据层和业 务规则。 模型是自包含的,并且与控制器和视图相分离,所以很容易改变应用程序的数据 层和业务规则。如果把数据库从 MySQL 移植到 Oracle,或者改变基于 RDBMS 数 据源到 LDAP,只需改变模型即可。一旦正确的实现了模型,不管数据来自数据 库或是 LDAP 服务器,视图将会正确的显示它们。由于运用 MVC 的应用程序的三 个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想能 构造良好的松耦合的构件。 11 重用性高重用性高 随着技术的不断进步,需要用越来越多的方式来访问应用程序。MVC 模式允许使 用各种不同样式的视

15、图来访问同一个服务器端的代码, 因为多个视图能共享一个 模型,它包括任何 WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可 以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购 产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能 被不同的界面使用。例如,很多数据可能用 HTML 来表示,但是也有可能用 WAP 来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层 无需做任何改变。由于已经将数据和业务规则从表示层分开,所以可以最大化的 重用代码了。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购 物车和电子商务过程也

16、能被 Flash 网站或者无线联网的应用程序所重用。 11 生命周期生命周期成本低成本低 MVC 使开发和维护用户接口的技术含量降低。 部署快部署快 使用 MVC 模式使开发时间得到相当大的缩减,它使程序员(Java 开发人员)集 中精力于业务逻辑,界面程序员(HTML 和 JSP 开发人员)集中精力于表现形式 上。 可维护性高可维护性高 分离视图层和业务逻辑层也使得 WEB 应用更易于维护和修改。 有利软件工程化管理有利软件工程化管理 由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工 程化、工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来 联接不同的模型和视图去完成用户的需求, 这样控制器可以为构造应用程序提供 强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择 模型进行处理,然后选择视图将处理结果显示给用户。 12-13 缺点缺点 没有明确的定义没有明确的定义 完全理解 MVC 并不是很容易。使用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号