框架设计的一些思想(应用框架的设计和实现上摘)

1、要开发应用框架,第一个阶段是分析阶段。和应用开发一样,框架开发首先要确定框架的范围(scope

)和目标(objective)。
  这个框架的主要功能(feature)是什么?
  这个框架将要支持什么类型的业务应用?
  这个框架要支持哪些用例(use case)?
  开发者如何在这个框架的基础上开发他们的业务应用?
  既然框架是为了支持业务应用开发的,那么这个框架能够支持哪些业务领域?
2、通过有选择地实现部分业务应用中有代表性的框架使用模式(usage
pattern)

3、典型的框架文档包括以下四部分:
  框架概览。说明框架的用途,以及框架中提供的主要组件和服务。
  有关框架的一些图片、图解和描述。帮助开发者领会框架及其设计思想。
  框架功能的API参考。使开发者能够在开发过程中随时查找框架的功能。
  说明如何使用框架的一组例子。实际例子是说明应用框架使用场景的最佳手段,有助于缩短学习过程。
  在稳定阶段,框架设计者为框架开发的下一个迭代周期,频繁地搜集开发者关于框架的反馈。当开发者

开始使用框架后,框架设计者必须通过为开发团队提供帮助的方式,参与到应用开发工作中去,为他们回

答和解决框架使用方面的问题。

4、框架开发技术
为了开发有效的应用框架,你需要了解一些框架开发的通用技术。下面列出了一些有用的技术和方法,能

够帮助你开发出既易用又可扩展的框架:
  通用点(Common spots)。
  扩展点(Hot spots)。
  黑盒框架(Black-box framework)。
  白盒框架(White-box framework)。
  灰盒框架(Gray-box framework)。
  设计模式(Design pattern)。

5、什么样的主题有资格成为通用点呢?是不是必须在整个应用中,都以精确相同的方式出现的主题才有

资格成为通用点呢?答案是否定的。只要差异不大,你依然可以把这个主题作为通用点;只是,需要通过

参数化或配置设置项的方法,来处理这些小的变化。
将通用点主题移到框架组件中的实际工作并不困难,困难的是在分析阶段,如何从尚未开发的业务应用中

识别出那些通用点。识别这些深藏在应用中的通用主题确实不易,通常要多次尝试才能做到。

6、在框架中创建扩展点并不像创建通用点那么直观易懂,其方法有二:继承法(inheritance approach

)和组合法(composition
approach)。
继承法依靠两个重要的面向对象概念:钩子方法(hook method)和模板方法(template method)。
可插入应用组件(接口开发)

7、白盒框架
白盒框架是由抽象类组成的框架。开发者使用白盒框架时,要继承框架中的抽象类来建立一个具体类。白

盒框架使用继承法支持扩展点。

8、黑盒框架
由于黑盒框架使用了组合法,它提供了比白盒框架更大的灵活性,开发者能够任意挑选不同的组件来满足

特定的应用需求。

9、  灰盒框架
从性能角度讲,组合法往往比继承法慢,主要是因为要在运行时加载和访问额外的组件,才能达到预期的

结果;当你组合使用多个组件的功能时,也增加了很多额外的调用开销。然而,使用继承法时,派生类本

身通常就包含了大部分必须的功能,因而减少了程序需要创建和访问的对象的数量,并且消除了使用组合

法时调用不同组件的额外代码。

10、当然,应用框架的实际维护成本取决于框架的具体设计,以及业务需求变化的类型。但一般而言,要

处理的“活动件”越少,维护成本就越低。

总结:讨论了框架开发过程,它包括以迭代方式进行的分析、设计、实现和稳定四个阶段,还讨论了每一

阶段的具体任务;接下来,学习了框架开发方法,例如白盒框架、黑盒框架和灰盒框架;我们也讨论了一

些关键的框架开发技术,包括通用点、扩展点和设计模式。

转载于:https://www.cnblogs.com/deadshot123/archive/2007/01/22/627198.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值