登录   |   注册
    准考证打印   论文投票   报考指南   论文辅导   软考培训   郑重申明  
您现在的位置:  首页 > 软考学苑 > 信息系统监理师 > 信监上午综合知识 > 信息应用系统建设监理 > 第19章信息应用系统建设基础知识 >> 正文
正文
19.9.10模式(Pattern)与框架(Framework)技术
来源: 作者: 时间;2017-10-30 14:47:20 点击数: 尚大软考交流群:376154208
19.9.10模式(Pattern)与框架(Framework)技术 1.设计模式 设计模式(Design Patterns )是在面向对象的系统设计过程中反复出现的问题解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含义目前还存有争议。算法不是设计模式,因为算法致力于解决实现问题而非设计问题。设计模式通常描述了一
<尚大教育,教育至上,人才为大:sdedu.cc>

 

19.9.10模式(Pattern)与框架(Framework)技术

    1.设计模式

    设计模式(Design Patterns )是在面向对象的系统设计过程中反复出现的问题解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含义目前还存有争议。算法不是设计模式,因为算法致力于解决实现问题而非设计问题。设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。设计模式还为软件重构提供了目标。

    一般来讲,一个模式要有四个基本要素。

·模式名称(pattern name ):它用一两个词来描述模式的问题、解决方案和效果。        命名一个新模式增加了我们的设计词汇。基于一个模式词汇表,软件工程师及其同事之间就可以讨论模式并在文档编写时利用它们。模式名可以帮助设计者思考,设计者之间交流设计思想及设计结果。

    ·模式问题(pattern problem):描述应该在何时使用模式。它解释了设计问题和问题存在的前因后果,可能描述特定的设计问题,也可能描述了导致不灵活设计的类或对象结构。

    ·解决方案(solution ):描述设计的组成成分,它们之间的相互关系及各自的职责        和协作方式。它并不描述一个特定而具体的设计或实现,而是提供抽象问题的描述和怎样用一个具有叮般意义的元素(类或对象)组合来解决这过问题。.

    ·效果(consequences):描迷模式应用的效果及使用模式应权衡的问题。模式效果包括对系统的灵活性、扩充性、可以执行的影响,显式列出这些效果对理解和评价模式很有帮助。

    2.框架

    工业化的软件复用已经从通用类库进化到了面向领域的应用框架。 Gartner Group认为:“到2003年,至少70%的新应用将主要建立在如软件构件和应用框架这类“构造块”之上;应用开发的未来就在于提供一开放体系结构,以方便构件的选择、组装和集成。”框架的重用已成为软件生产中最有效的重用方式之一。

    框架(Framework)是构成一类专业领域可复用设计的一组相互协作的类,它规定了应用的体系结构,系统中的类和对象的分割及协作,各部分的主要责任,控制流程。框架预定义了设计参数,以便应用设计者或实现者能集中精力于应用本身的特定细节。框架记录了其应用领域的共同的设计决策,因而更强调设计复用。一个框架就是一个用于构建针对专门客户应用的可重用的“半成品”应用。与其他早期基于类的可重用的面向对象技术相比,框架更专注于具体的业务单元(如数据处理、通信功能单元)和专业领域(如用户界面、实时电子应用)。目前有许多框架系统,例如用户界面方面的框架有MVC, ET++等,其中ET++采用C+十语言实现,运行于UNIX等系统中;针对其他领域的则有FOIBLE ,   MacApp ,  FACE ( Framework Adaptive Composition Environment )等。

    许多采用J2EE编程环境的应用框架,如Jcorporate公司开发的Expresso Framework是一使用JAVA来建造分布式、重用、基于构件的安全的Web应用程序的应用框架。基于框架建立的构件系统具有如下性能:

    (1)实现面向产品化、实用性的构件库系统,并具开放性、可扩展性;

    (2)支持异构环境中的框架、构件的互联和通信;

(3)实现新旧系统的兼容性;

    (4)提供一致的接口分配;

    (5)遵循重要构件标准(CORBA, J2EE, .NET);

    (6)构件具有透明本地化、平台无关性特点;

    (7)系统的配置、数据交换基于XMLJAVA的标准化格式;

    (8)支持个性化信息服务定制和可重构。

    基于框架的软件的设计开发方法在很大程度上借鉴了硬件技术发展的思想,通俗地说“它是用硬件生产的方法设计和开发软件”,是构件技术、软件体系结构研究和应用软件开发三者发展结合的产物。框架可以认为是粗粒度的构件的形式,它通常以框架库的形式表现。框架的关键还在于框架内对象间的交互模式和控制流模式。

    3.为什么需要设计模式和框架

    为什么要用模式:因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你做出一个优良的设计方案,达到事半功倍的效果;而且会得到解决问题的最佳办法。

    为什么要用框架:因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及的知识、内容、问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需集中精力完成系统的业务逻辑设计。而且框架一般是成熟、稳健的,它可以处理系统很多细节问题,比如,事物处理、安全性、数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。框架一般处在低层应用平台(J2EE)和高层业务逻辑之间的中间层。

    4.设计模式与框架的比较

    框架能使应用程序的开发简单,价格低廉,但是开发框架不是一件容易的事,它是一个需要领域和设计经验的反复过程。设计模式可以简化这个过程,因为它提供了对过去经验的抽象。框架能高度抽象同一领域内的问题,进而降低开发难度和强度。因此,在软件开发过程中把框架和模式配合起来使用,可以极大地提高软件的重用。框架和模式都是提高软复用的技术手段,它们之间互相联系但又有所侧重。

    (1)设计模式比框架更抽象。应用框架能够用代码表示,而设计模式只有其实例才能表示为代码。框架能够使用程序设计语言写出来,不仅能被学习,也能被直接执行和复用。而设计模式的每一次复用时,都需要被实现。设计模式需要解释它的意图、权衡和设计效果。

(2)设计模式是比框架更小的体系结构元素。一个典型的框架包括了多个设计模式。  

(3)框架比设计模式更加特征化。框架总是针对一个特定的应用领域,而设计模式至少要包括两个不同的应用领域。

    如果说类库通常是代码重用,而设计模式是设计重用,那么框架则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:

内部重用—对同一应用中能公共使用功能抽象复用:代码重用—将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用—为专用领域提供通用的或现成的基础结构,以便于集成或组装其他功能块达到更高级别的重用性。简单地说,框架是软件,而设计模式是软件的知识(即开发软件的先验经验)

    5.框架与构件、类库的关系

    框架是面向对象的类库的扩展,框架由一个应用相关联构件家族构成,这些构件协同工作形成了框架的基本结构骨架,并在此基础上通过构件的组合进一步构建一个完整的应用系统。类库构件没有应用领域特征,可以在较小的范围内重用,例如与字符串、复杂数、数组和数字位集合相关的类库,它们应用层次较低,在一般的系统中普遍使用。在系统设计的实际过程中,框架和类库是两种互为补充的技术,我们用框架表示那些与特定应用相关的架构或软件骨架,类库则完成一些基本的任务如字符串处理、文件管理、数学计算和分析,供框架在实现中调用。

    构件是自包含的抽象数据数据类型实例,通过构件的拼装可以组成完整的软件系统,如VBX控件、CORBA的对象服务等等,构件的复用仅仅依赖构件封装的接口,与框架相比耦合性小,可以在二进制代码级复用。在软件开发过程中,框架和构件可以互相利用,而且没有主从之分。我们可以利用构件来实现框架,。同时也可以把框架封装在一个构件中。

    类库、构件、模板和框架是软件开发过程中常用的几种提高软件质量降低开发工作量的有效的软件复用技术,要利用好这些技术尤其是模式和框架还面临许多挑战。要大量地建立和利用可复用的构件要解决好如下问题:这是一个巨大工程,前期的难度和工作量都较大,是一个长时间的积累。同时还要考虑构件的集成性·可维护性:有效性和排错能力,最重要的是标准的建立。

<尚大教育,教育至上,人才为大:sdedu.cc>
 
   各省软考办 
 
来顶一下
返回首页
返回首页
上一篇:19.9.9软件复用技术
下一篇:19.9.11统一建模语言UMI.和统一开发过程RUP
 相关文章
 
 
跟贴共
笔 名 :   验证码:
网友评论仅供其表达个人看法,并不表明尚大教育同意其观点或证实其描述
距离2023年05月27-28日软考考试还有
尚大软考交流群:376154208
软考各地考务机构
历年真题汇总




各省市软考报名简章