⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200603061723295.html

📁 软件工程的红包书
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<html>
<head><title>框架</title></head>
<center><h1>框架</h1></center>
<div><P align=right><FONT face=Verdana><FONT color=#f70938><FONT face=黑体><a href="200604112229525.html" tppabs="http://www.itisedu.com/phrase/200604112229525.html" target="_new">中科永联</a>高级技术培训中心(</FONT><FONT face=黑体>www.itisedu.com</FONT><FONT face=黑体>)<IMG src="200632719826267.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/200632719826267.jpg" border=0></FONT></FONT></FONT></P><FONT face=Verdana>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="200603061723295.html" tppabs="http://www.itisedu.com/phrase/200603061723295.html" target="_new">框架</a>(<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604241001145.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604241001145.html'" tppabs="http://www.itisedu.com/phrase/200604241001145.html" target="_new">Framework</a>)是整个或部分系统的可重用设计,表现为一组抽象<a href="200604161439595.html" tppabs="http://www.itisedu.com/phrase/200604161439595.html" target="_new">构件</a>及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可以说,一个框架是一个可复用的设计构件,它规定了应用的<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603122156385.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603122156385.html'" tppabs="http://www.itisedu.com/phrase/200603122156385.html" target="_new">体系结构</a>,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象<a href="200603090857555.html" tppabs="http://www.itisedu.com/phrase/200603090857555.html" target="_new">类</a>以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 构件领域框架方法在很大程度上借鉴了硬件技术发展的成就,它是构件技术、<a href="200603131358465.html" tppabs="http://www.itisedu.com/phrase/200603131358465.html" target="_new">软件体系结构</a>研究和应用<a href="200603282233345.html" tppabs="http://www.itisedu.com/phrase/200603282233345.html" target="_new">软件开发</a>三者发展结合的产物。在很多情况下,框架通常以构件库的形式出现,但构件库只是框架的一个重要部分。框架的关键还在于框架内<a href="200603090845215.html" tppabs="http://www.itisedu.com/phrase/200603090845215.html" target="_new">对象</a>间的交互<a href="200603061709535.html" tppabs="http://www.itisedu.com/phrase/200603061709535.html" target="_new">模式</a>和控制流模式。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 框架比构件可定制性强。在某种程度上,将构件和框架看成两个不同但彼此协作的技术或许更好。框架为构件提供重用的环境,为构件处理错误、交换数据及激活操作提供了标准的方法。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 应用框架的概念也很简单。它并不是包含构件应用<a href="200604232224305.html" tppabs="http://www.itisedu.com/phrase/200604232224305.html" target="_new">程序</a>的小片程序,而是实现了某应用领域通用完备功能(除去特殊应用的部分)的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用期望的默认行为的类集合。具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支持应用专用的行为。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 应用框架强调的是<a href="200604232134205.html" tppabs="http://www.itisedu.com/phrase/200604232134205.html" target="_new">软件</a>的设计重用性和系统的可扩充性,以缩短大型应用<a href="200602281706245.html" tppabs="http://www.itisedu.com/phrase/200602281706245.html" target="_new">软件系统</a>的开发周期,提高开发质量。与传统的基于类库的<a href="200603101726185.html" tppabs="http://www.itisedu.com/phrase/200603101726185.html" target="_new">面向对象</a>重用技术比较,应用框架更注重于面向专业领域的软件重用。应用框架具有领域相关性,构件根据框架进行复合而生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整。 <BR></FONT></P></FONT>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 框架,即framework。其实就是某种应用的半成品,就是一组<a href="200603302222545.html" tppabs="http://www.itisedu.com/phrase/200603302222545.html" target="_new">组件</a>,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;框架的概念最早起源于Smalltalk环境,其中最著名的框架是Smalltalk 80的用户界面框架<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603071552065.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603071552065.html'" tppabs="http://www.itisedu.com/phrase/200603071552065.html" target="_new">MVC</a>(Model-View-Controller)。随着用户界面框架Interviews [Linton 89]和ET++ [Weinand 89] 的开发和发布,框架研究越来越受到研究人员的重视。虽然框架研究最初起源于用户界面领域,但它还被成功地应用到其他领域中,如<a href="200602281634075.html" tppabs="http://www.itisedu.com/phrase/200602281634075.html" target="_new">操作系统</a> [Russo 90]、火警系统 [Molin 96a,Molin 96b] 等。Taligent公司于1992年成立后,框架研究受到了广泛的重视。该公司计划基于框架来开发一个完整的面向对象操作系统。另外,该公司还发布了一套支持快速应用开发的工具集CommonPoint,其中包括了上百个面向对象框架 [Andert 94,Cotter 95]。<BR>框架目前还没有统一的定义,其中Ralph Johnson所给出的定义基本上为大多数研究人员所接受: </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个框架是一个可复用设计,它是由一组抽象类及其实例间协作关系来表达的 [Johnson 98]。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个定义是从框架内涵的角度来定义框架的,当然也可以从框架用途的角度来给出框架的定义:</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个框架是在一个给定的问题领域内,一个应用程序的一部分设计与实现[Bosch 97]。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从以上两个定义可以看出,框架是对特定应用领域中的应用系统的部分设计和实现,它定义了一类应用系统(或<a href="200604161433025.html" tppabs="http://www.itisedu.com/phrase/200604161433025.html" target="_new">子系统</a>)的整体结构。框架将应用系统划分为类和对象,定义类和对象的责任,类和对象如何互相协作,以及对象之间的控制<a href="200603091754305.html" tppabs="http://www.itisedu.com/phrase/200603091754305.html" target="_new">线程</a>。这些共有的设计因素由框架预先定义,应用开发人员只须关注于特定的应用系统特有部分。框架刻画了其应用领域所共有的设计决策,所以说框架着重于设计复用,尽管框架中可能包含用某种<a href="200602281700255.html" tppabs="http://www.itisedu.com/phrase/200602281700255.html" target="_new">程序设计语言</a>实现的具体类。<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个基于框架开发的应用系统包含一个或多个框架,与框架相关的构件类,以及与应用系统相关的功能扩展。与应用系统相关的扩展包括与应用系统相关的类和对象。应用系统可能仅仅复用了面向对象框架的一部分,或者说,它可能需要对框架进行一些适应性修改,以满足系统<a href="200603101518295.html" tppabs="http://www.itisedu.com/phrase/200603101518295.html" target="_new">需求</a>。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 面向对象的框架作为一种可复用的软件,在基于框架的软件开发过程中会涉及到框架的开发和利用两个方面的工作。框架的开发阶段在于产生领域中可复用的设计。该阶段的主要结果是框架以及与框架相关的构件类。该阶段的一个重要活动是框架的演变和维护。象所有软件一样,框架也易于变化。产生变化的原因很多,如应用出错,业务领域变化,等等。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不论是哪一种技术,最终都是为业务发展而服务的。从业务的角度来讲。首先,框架的是为了企业的业务发展和战略规划而服务的,他服从于企业的愿景(vision);其次,框架最重要的目标是提高企业的竞争能力,包括降低成本、提高质量、改善客户满意程度,控制进度等方面。最后,框架实现这一目标的方式是进行有效的知识积累。软件开发是一种知识活动,因此知识的聚集和积累是至关重要的。框架能够采用一种结构化的方式对某个特定的业务领域进行描述,也就是将这个领域相关的技术以代码、文档、模型等方式固化下来。</FONT></P>
<P><FONT face=Verdana><STRONG>一、框架要解决的问题</STRONG></FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 框架要解决的最重要的一个问题是技术整合的问题,在<a href="200603091447335.html" tppabs="http://www.itisedu.com/phrase/200603091447335.html" target="_new">J2EE</a>的框架中,有着各种各样的技术,不同的软件企业需要从J2EE中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的实现技术解耦。这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用的底层支撑,它不应该直接对应用产生影响。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要理解这一点,我们来举一些例子:</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个做视频流应用的软件企业,他为电广行业提供整体的解决方案。他的优势在于将各种各样的视频硬件、服务器、和管理结合起来,因此他扮演的是一个集成商的角色。因此他的核心价值在于使用软件技术将不同的硬件整合起来,并在硬件的整合层面上提供一个统一的管理平台。所以他的精力应该放在解决两个问题:</FONT></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -