演示文档-软件体系结构-第二章-软件体系结构风格-应用-框架

上传人:子 文档编号:56982756 上传时间:2018-10-17 格式:PPT 页数:26 大小:985KB
返回 下载 相关 举报
演示文档-软件体系结构-第二章-软件体系结构风格-应用-框架_第1页
第1页 / 共26页
演示文档-软件体系结构-第二章-软件体系结构风格-应用-框架_第2页
第2页 / 共26页
演示文档-软件体系结构-第二章-软件体系结构风格-应用-框架_第3页
第3页 / 共26页
演示文档-软件体系结构-第二章-软件体系结构风格-应用-框架_第4页
第4页 / 共26页
演示文档-软件体系结构-第二章-软件体系结构风格-应用-框架_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《演示文档-软件体系结构-第二章-软件体系结构风格-应用-框架》由会员分享,可在线阅读,更多相关《演示文档-软件体系结构-第二章-软件体系结构风格-应用-框架(26页珍藏版)》请在金锄头文库上搜索。

1、华南师范大学计算机学院 研究生课程 软件体系结构与实现,体系结构的应用-框架 主讲:王涛 Email: ,框架(framework)的由来及含意,什么叫做框架 一个框架是一个可复用结构设计方案,它是由一组抽象类及其实例间协作关系来表达的,是整个软件实现时的一个骨架, 一个框架是在一个给定的实现范畴内、一个应用程序设计与实现中不可缺少的。 解决某一个问题的设计方案都是由一组相互交互的类来构成的,而在现有面向对象方法中缺少一种具备这种表达能力的逻辑单位,于是框架应运而生。它是体系结构的细化。 框架中可以嵌入不同的组件、构件,从而形成一个完整系统.框架中的不同组件部分往往具有可替换可升级可组装的性质

2、,软件体系结构与框架之区别,体系结构用高层的计算成份和它们之间的相互作用刻划了系统的结构。也就是说,体系结构通过配置相互作用的元素,为问题提供解决方案的总体框架(也称构架)。 但与其有所微小的差别,体系结构应是严格的术语,抽象度高,一种体系结构常适用于同一领域范围内的软件结构,体系结构应是一类框架的总称,如总线体系结构、层次体系结构、黑板体系结构等,实际上是指一类框架结构,而总体框架是指某具体系统而言。如果将体系结构看作类的话,那末构架就是实例化、本地化后的详细描述。,框架的作用和意义,在设计建筑物时,除了要制定用什么材料和预制件外更重要的是要设计好建筑物的整体结构,即框架。 在构建一个软件时

3、,除了确定用那些构件外,更重的是确定系统的整个结构和各子系统的的框架,即系统的体系结构(Architecture)和框架(Framework)。 体系结构和框架是一种与领域密切相关的设计,这种设计的复用,显然比构件复用具有更为重要的意义。,常用的开发框架,主要集中在J2EE平台上 三层结构:Spring MVC结构:Struts 体系结构框架 讨论: J2EE本身,是否一个框架?,Spring框架基本情况,属于实现三层结构的一种框架 什么是三层结构 一般以MS DNA(分布式网络应用)结构作为三层结构的代表 表现层、业务处理层、数据层 属于一种分层体系结构 为什么这么说? 分别完成界面显示、处

4、理过程及功能实现、数据库相关操作 通过分割,使得三者相互独立,更容易单独分析、设计、实现、升级,并且可以互相替换 在现在的分布式系统开发中得广泛应用:.Net, J2EE(6层结构)都可以看成是三层结构,Spring框架基本情况,对三层结构的实现 基本结构图 Web:表现层 JEE:业务层 ORMDAO: 数据层,Spring框架基本情况,DAO 提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。 并且,JDBC 封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适

5、用。 ORM 封装包提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate 和 iBatis 。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理。,Spring框架基本情况,Spring中的 Web 包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet listeners进行IoC容器初始化和针对Web的application context。当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结合。 Spring中的 MVC 封装包提

6、供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种 清晰的 分离模型,在领域模型代码和web form之间。并且,还可以借助Spring框架的其他特性。,Spring框架基本情况,作为一个框架,Spring的一个主要功能是提供了集成不同层的不同组件之间的机制 Spring框架提供了实现了每个层功能的基本组件,但也允许开发者将实现某个层功能的功能组件集成进框架中(见前图) 表现层,业务处理层,数据层,分别可以用不同的形式、不同的组件来实现,Spring架构的作用,(1) 提供一个模型,使开发者在实现一个网络

7、应用系统时,严格按此模型进行系统的分解,以实现三层结构“表现层业务处理层数据层“ (2) 提供一套机制,以便比较完善地集成三层结构,同时又保持三层结构中各层在实现上的相对独立性 (3) 提供了三层结构中各层的固定接口,使之可以容纳现有的流行技术来实现各层,例如:表现层可以选用Structs结构或Java Server Face或JSP或其它体系来实现;数据层可以选用Hibernate或JDBC或JDO来实现,而无论用哪种实现,都可以顺利地集成到在Spring架构上,Spring框架的实现方式,表现层/业务处理层/数据层 Struts+Spring+Hibernate Struts + Spri

8、ng + EJB JavaServer Faces + Spring + iBATIS Spring + Spring + JDO Flex + Spring + Hibernate Struts + Spring + JDBC 其它可选,Struts,实现MVC体系结构的框架 MVC结构简介 最初是出现在Smalltalk,Structs简介,利用MVC思想实现Web快速应用系统开发的框架Struts MVC架构是随着smalltalk 语言的发展提出的,它是一个著名的用户界面设计架构。 实现了功能模块和显示模块的分离 它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性,MVC

9、结构,MVC是Model-View-Controler结构的简称 Model代表了数据对象及其数据结构 例如:一篇word文档,被分解成段、句子、字符等模型结构,每个结构有自己的属性 View用来在屏幕上显示数据对象的当前状态,是应用程序的外观 例如:同一篇word文档有许多不同的视图(大纲、分页、打印预览),但其数据都来自同一个模型 Controller定义了用户接口对用户输入反应的方式,它处理数据对象 例如:不同的视图,对同一个数据,会可能有不同操作方式,这由Controller实现,MVC三个部分的关系,MVC三个部分通信方式,视图提供与客户交互的手段 事件由控制器来处理,控制器接收用户

10、事件,并根据事件的类型来改变模型 视图事先会在模型中登记,当模型数据发生改变时,马上通知已向此模型登记的每个视图 视图从模型取得最新的数据并刷新自己,MVC结构的实现,MVC架构是随着smalltalk 语言的发展提出的,它是一个著名的用户界面设计架构。 MVC模式不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。,在MS Visual C+中的实现,CXxxxxxView(视图) CXxxxxxDoc(模型) CWinApp/CMainFrame (控制),Struts 产生背景,利用Servlet和jsp技术开发Web 应用的不足 C

11、rag McClanahan 在2000年的时候提出结合两种技术,利用MVC思想实现Web应用开发的框架Struts,并且亲自参与了Struts的开发工作 现在Struts是Apache软件基金的一个子项目,并且已经成为利用Sun技术开发Web应用的最流行的框架,Structs对MVC的实现,Struts是利用MVC思想,结合了Servlet,Jsp,以及Jsp标签技术的开发Web 应用程序的框架 JavaBeans(实体Bean,会话Bean)Model Jsp+表示组件(Jsp标签) View ActionServlet和ActionMappingController 同时, Struts提供了大量对应于Jsp标签的工具帮助快速实现应用系统的界面操作及显示功能,Structs对MVC的实现,Structs的组件,Structs对MVC的实现,Controller Servlet即ActionServlet J2EE上用实体Bean和会话Bean来存贮系统数据,Structs对MVC的实现,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

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