频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

2.3.1 框架的概念

作者: 温昱 出处:电子工业出版社博文视点  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2008-01-24 14:55
关 键 词:子系统  框架  软件架构设计
阅读提示:《软件架构设计》第2章结合实践,讲述子系统和框架在软件架构设计中的地位,本文介绍了框架的概念。

2.3  框架与软件架构

2.3.1  框架的概念

我总结的框架的定义是:框架是可以通过某种回调机制进行扩展的软件系统或子系统的半成品。

首先,框架是半成品,这是它和其他所有软件组件的本质区别。这涉及到“软件重用”的一对内在矛盾:“重用几率”大小和“重用所带来的价值量”大小之间的矛盾。简言之,软件单元的粒度越大,则重用所带来的价值量越大,但重用几率越小;反之,粒度小的软件单元被重用的几率越大,则重用所带来的价值量就越小。框架的智慧就在于此:为了追求重用所带来的价值量最大化,将容易变化的部分封装成扩展点,并辅以回调机制将它们纳入框架的控制范围之内,从而在兼顾定制开销的同时使被重用的设计成果最多。

下面,来解释一下“某种回调机制”的含义。框架并不一定必须用面向对象编程语言实现,正如第2.5.4节“如何实现框架中的扩展点”中将详细讲解的,如C语言等传统编程语言可以通过函数指针作为参数来实现回调机制,而面向对象编程语言中利用抽象方法(C++中称为虚函数)支持回调机制——无论是抽象类还是接口都利用了抽象方法。

Frank Buschmann等人在《面向模式的软件体系结构(第一卷)》中为框架所下的定义,非常重视框架与架构的关系:

框架是一个可实例化的、部分完成的软件系统或子系统,它为一组系统或子系统定义了架构,并提供了构造系统的基本构造块,还为实现特定功能定义了可调整点。在面向对象环境中,框架由抽象类和具体类组成。(A framework is a partially complete software (sub-) system that is intended to be instantiated. It defines the architecture for a family of (sub-) systems and provides the basic building blocks to create them. It also defines the places where adaptations for specific functionality should be made. In an object-oriented environment a framework consists of abstract and concrete classes.)

相比之下,Erich Gamma等人在《设计模式》中为框架所下的定义则循循善诱,符合面向对象开发者的口味:
(框架是)一组相互协作的类,形成某类软件的一个可复用设计。框架将设计划分为一组抽象类,并定义它们各自的责任和相互之间的协作,以此来指导体系结构级的设计。开发者通过继承框架类中的类和组合其实例来定制该框架以生成特定的应用。

【责任编辑:杜书 TEL:(010)68476606】

回书目   上一节   下一节
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
关键字阅读
频道精选