[计算机软件及应用]软件框架

[计算机软件及应用]软件框架

ID:23159913

大小:650.52 KB

页数:41页

时间:2018-11-05

[计算机软件及应用]软件框架_第1页
[计算机软件及应用]软件框架_第2页
[计算机软件及应用]软件框架_第3页
[计算机软件及应用]软件框架_第4页
[计算机软件及应用]软件框架_第5页
资源描述:

《[计算机软件及应用]软件框架》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、IT俱乐部创始人杜鸿飞专访      MDCC2013中国移动开发者大会社区赠票申请    Tag功能介绍—我们为什么打Tag    CSDN问答频道10月排行榜活动开始,丰厚奖品等你拿    订阅CSDN社区周刊,及时了解社区精华内容软件框架2013-02-2509:01313人阅读评论(0)收藏举报目录(?)[+]1.1框架与类库的区别2.2通用框架与应用框架3.3框架之于应用4.4框架设计1.框架设计经验原则2.如何称得上一个优秀的框架5.一三种架构模型1.3N层架构2.框架插件架构3.地域分布式架构6.二对架构模型的支持7.我的

2、架构经验小结三深入三层架构8.我的架构经验小结四实战中演化的三层架构1.二系统各层次职责2.三Aspect3.四规则4.五错误与异常9.框架设计经验谈不要为框架作过多的假设10.企业开发基础设施序11.企业开发基础设施类厂服务12.企业开发基础设施事件通知服务Remoting双向通信13.组件设计实战组件之间的关系Event依赖倒置Bridge14.IoC与DI转载框架和类库等概念的出现都是源于人们对复用的渴望。“不要重复发明轮子”,成了软件界的一句经典名言。从最初的单个函数源代码的复用,到面向对象中类的复用(通常以类库的形式体现),再

3、到基于组件编程中二进制组件(.NET中是以IL程序集形式存在的)的复用,人们复用软件的抽象层次越来越高。现在,框架复用是抽象层次的又一提升,框架的复用不仅仅是功能的复用,更是设计的复用。1.1 框架与类库的区别   我们先来简单说说什么是类库(ClassLibrary)?望文生义,类库就是一些类的集合,只要我们将一些可以复用的类集中放到一个Library中,我们就可以称其为一个类库。类库中的许多元素(如类、结构、接口、枚举、委托等)之间可能有一些关联,但这些关联通常用于支持一个类概念或接口概念的完整表达。如果我们从一个更高的视角来审视类

4、库,可以发现类库中的一个个“完整的概念”之间是无关的或是关系松散的。   再来说框架,框架的第一含义是一个骨架,它封装了某领域内处理流程的控制逻辑,所以我们经常说框架是一个半成品的应用。由于领域的种类是如此众多,所以框架必须具有针对性,比如,专门用于解决底层通信的框架,或专门用于医疗领域的框架。框架中也包含了很多元素,但是这些元素之间关系的紧密程度要远远大于类库中元素之间的关系。框架中的所有元素都为了实现一个共同的目标而相互协作。   没有一个万能的框架可以应用于所有种类的领域和应用,框架的目标性非常强,它专注于解决某一特定领域的问题,

5、并致力于为这一特定领域提供通用的解决方案。   框架与类库的区别主要表现在以下几个方面:(1)从结构上说,框架内部是高内聚的,而类库内部则是相对松散的。(2)框架封装了处理流程的控制逻辑,而类库几乎不涉及任何处理流程和控制逻辑。   正是由于框架对处理流程的控制逻辑进行了封装,才使得框架成为一个应用的骨架。框架中的处理流程和控制逻辑需要经过精心的设计,因为所有使用了该框架的应用程序都会复用该设计。(3)框架具有IOC(控制反转)能力,而类库没有。      IOC,即俗称的好莱坞模式(Don’tcallus,wewillcallyou)

6、。对于类库中的元素来说,通常都是由我们的应用来调用它;而框架具有这种能力――在适当的时候调用我们应用中的逻辑。这种能力是通过框架扩展点(或称为“插槽”)来做到的――具体的应用通过扩展点注入自己的逻辑,而在适当的时候,框架会调用这个扩展点中已注册的逻辑。实际上,.NET中的事件(event)发布、预定机制就是IOC的一个代表性例子。(4)框架专注于特定领域,而类库却是更通用的。   框架着力于一个特定领域的解决方案的完整表达,而类库几乎不针对任何特定领域。比如,本书中提到的通信框架只适用于需要在TCP/UDP基础上直接构建通信的应用程序,

7、而像正则表达式这样的类库却可以使用在各种不同的应用中。(5)框架通常建立在众多类库的基础之上,而类库一般不会依赖于某框架。1.2 通用框架与应用框架      如果要对框架进行进一步分类,则可以根据框架针对的领域是否具有通用性而将它们分为通用框架(GeneralFramework)和应用框架(ApplicationFramework)。通用框架可以在不同类型的应用中使用,而应用框架只被使用于某一特定类型的应用中。      比如,ORM框架NHibernate就是一个通用框架,该框架可以用于所有需要解决O/R映射的各种类型的应用中。而某

8、个金融框架则是一个应用框架,它仅仅被用于金融类型的应用中。      可以这么说,通用框架所解决的是所有类型的应用都关心的“普遍”问题,而应用框架解决的是某一特定类型的应用关心的问题。所以,如果我们需要将某

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。