2.5 专题:框架技术
接下来,对框架技术进行专门讨论。
2.5.1 框架vs.类库
对面向对象开发而言,类库和框架有很多共同之处,但它们确确实实又是不同的。通过比较框架和类库的区别,可以更深入地理解框架的概念和内涵。如图2-14所示,框架是一种介于类库和应用系统之间的概念。
[img]
[/img]
框架介于类库和应用系统之间
类库是类的集合,这些类之间可能是相互独立的。应用开发者希望使用任何一个类时可以直接调用它,而不必再写一个。与类库相比,框架和类库有着相似的形式,即框架也往往是类的集合;但不同之处在于,框架中的各个类并不是孤立的,而框架中的业务逻辑代码是将不同的类“连”在一起,在它们之间建立协作关系。图2-15很好地表达了上述意思。
[img]
[/img]
类库与框架
(图片来源:《应用框架的设计与实现——.NET平台》)
Xin Chen在他的著作《应用框架的设计与实现——.NET平台》一书中写道:
框架通过封装处理流程的控制逻辑,使它对开发者透明,来简化开发工作。这种封装也是框架和类库(class library)的区别之一。类库由许多现成的、供开发者用于构建应用的组件组成,但是,开发者必须理解不同组件之间的关系,并编写处理流程代码把众多组件组织起来。框架则不同,它通过预先把众多组件组织在一起的方式,封装了处理流程的控制逻辑;因此,开发者就不用再编写控制逻辑来组织组件之间的交互了。……
……应用开发者使用类库这种方法时,必须编写管理类库中不同组件实例(instance)的控制流程。为此,应用开发者必须充分理解每个相关组件,以及组织组件协作所必需的业务逻辑。而使用框架这种方法时,由于大部分处理流程已经被框架管理了起来,所以开发者需要编写的控制代码就非常少。由于应用框架隐藏了不同组件之间的处理流程,这就免去了开发者编写协调逻辑(coordination logic)之苦,也不用经历编写这些协调代码的学习曲线了。既然处理流程的控制逻辑从应用层移到了应用框架层,那么框架的设计人员就要运用其架构和领域知识,来定义框架内的组件该如何协作;而使用框架的开发者,几乎无须知道框架组件如何协作,就能高效地开发应用。
由此可见,从重用的角度来比较,框架提供的重用性比类库更大。类库的目标是提供通用的类,如果是Utility类的情况(包含多个static方法),将其目标理解成提供通用的函数(就像C语言时代的函式库一样)也未尝不可;而框架的目标是提供在某领域内通用的软件系统半成品(或子系统半成品)。
- 大小: 7 KB
- 大小: 13.4 KB
分享到:
相关推荐
【类库与框架】-开源SMTP框架skpsmtpmessage.7z
IOS应用源码之【类库与框架】开源SMTP框架skpsmtpmessage.rar
【类库与框架】★★★★★-开源SMTP框架skpsmtpmessage.zipIOS应用例子源码下载【类库与框架】★★★★★-开源SMTP框架skpsmtpmessage.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人学习研究参考 3....
搭建struts,spring,hibernate整合框架所需全部类库
IOS应用源码之【类库与框架】-开源SMTP框架skpsmtpmessage.rar
一个免费开源的、轻量级的PHP开发框架,遵循 LGPL 开源协议发布,致力于提高开发人员的编程体验、开发效率,让网站更稳定高效。 1. 内核最小化,功能插件化 2. 面向对象、接口式编程 3. 类库积累体系 4. ...
这是一个封装了Chromium 框架的 .NET 类库。从而可以方便的使用 cefsharp相关的功能
也就是说这个类库中的类相互联系组织,构建一个应用程序的框架类库.类库有很多种,但作为框架类库的要求很高,因为它需要很好的设计组织用来供程序员搭建应用程序框架.Borland的OWL(Object Window Library)还有微软的...
【框架】图像处理类库.zipIOS应用例子源码下载【框架】图像处理类库.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
C# 教学资料 从基础只是到高级应用都有所讲解 ...首先介绍了Microsoft .NET Framework的框架,以及公共语言运行库、.NET Framework类库、ADO.NET和Web服务的特点。接着讲述了命名空间的基本定义和常用的类型。
拥有全范围的类库* 通过自定义类库、辅助函数来实现框架的扩展* JS前端自动验证* PHP自动验证、自动完成、字段映射、表单令牌* 高级扩展模型* 全站缓存控制* 中文分词* 商城购物车处理* RBAC角色控制* 完整的错误...
能够挂载/卸载十分基础的其他服务,例如View视图层组件,MySql语句组件,Redis操作类,MongoDB操作类,MemberCached等SPF类库框架,其优点为:1.用时include文件,做到最优效率2.自动化加载,使用仅需new object();3...
包含如下四个文件: - react.development.js,react核心库; - react-dom.development.js,支持react操作DOM; - babel.min.js,用于将jsx转为js; - prop-types.js,用户检查组件的 Props。
WskmPHP一个免费开源的、轻量级的PHP开发框架... 类库积累体系 4. 公用库函数导入 5. 内置安全、配置等机制 6. 易扩展的数据库驱动 7. MVC、单点模式 8. 多种路径重写,双向编码 9. 多国语言支持...... 如果您在使用ws
IOS应用源码之【框架】图像处理类库.rar
IOS应用源码之【类库与框架】麦克风检测类库SCListener.rar
解压后,直接复制粘贴,替换路径C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework下的对应的文件加即可。 之后再打开VS2022,就能看到支持framework4.0框架了
前端开发框架合集.zip 包含: 工具链表 公共类库 gulp Zepto less sass sea require browserify ejs jade swig babel
自己写的框架. 基础类库。 数据库访问器类库。 数据访问层基础类库。 业务逻辑层基础类库。 UI基础类库。 MEF基础类库。 View Model基础类库。 代码生成器。 工厂类库.