应用框架的设计与实现.net平台--应用框架介绍

本文探讨了应用框架的概念,解释了框架在软件开发中的重要性。通过详细阐述框架的结构本质,说明了模块化、可重用性、可扩展性、简单性和可维护性等五大优势。此外,文章还讨论了应用框架的缺点,如寻找合适人才的挑战和用户培训的需求。最终,总结了应用框架在提高开发效率和代码质量方面的核心价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 什么是应用框架

       在学习之前,我们从传统的词典中找出对框架的定义。“支撑或围住其他物体的结构,尤其是指用作建筑物之支撑骨架;一种基本结构,如关于一部作品或一些列观点的基本结构”;

     术语“框架(Framework)”对不同的人,含义不同。政治家用这个词描述某些政策和解决问题的某些措施。建筑师,用这个词语描述建筑物的骨架或者结构,软件工程师用这个描述有助于软件应用开发的一组可重用的设计和代码。“框架(Framework)”这个字的最后含义,正式我写这个一些列专栏需要讨论的;

    "结构(Structure)”一词着实反应了任何框架的本质。因为结构无处不在。建筑物开始建设时,你会发现他的钢筋混凝土结构先被搭建;写书时,一定会先有提纲;通过这些“结构”,可以迫使我们着眼全局;着眼全局可以使人深入考虑,考虑每一部分的相互影响;例如写书,就可以让你去想怎样让读者更容易理解;

    “结构(Structure)”在软件开发中也扮演着重要的角色。一个相当复杂的软件包含了多变的细枝末叶,以致让人无法把握它们的父子关系.而“结构(Structure)”帮助我们将这些不断变化细枝末叶,组成容易理解的少数几个主要部分。在开始开发时,“结构(Structure)”能够为我们提供进一步实现的上下文(context).应用框架为开发者提供了结构和模板,开发者以此为基线来构建他们的应用系统。这样的一个架构通常包括抽象类,具体类和类预定义之间的交互。开发者在框架之上构建应用,通过重用框架提供的代码和设计,减少开发工作量,图1-1概括了应用框架和业务应用之间的关系。

                                                                        

1.2   为何使用应用框架?

         使用应用框架的5大优点:

a) 模块化

        b)    可重用性

        c)    可扩展性

        d)    简单性

e) 可维护性

1.2.1 模块化

模块化就是把应用分割成多个组件或模块。这样,开发者就可以采用各模块互不影响的方式使用引用框架---希望使用这个应用框架摸个组件的开发者,不会受到框架其他组件潜在变化的影响。当开发者给予框架之上构建应用时,他们的开发活动会更好地被隔离开,而不受应用框架其他部分变化的影响;从而提高开发效率。把框架模块化,可以指定擅长的各部分的开发者来完成它,从而使生产效率最大化。以开发Web应用程序为例,模块化带来如下好处,指派熟悉表现层的用户界面开发者负责应用的前端;指派熟悉业务逻辑层的开发者负责应用的中间层和后端;这样会显著提高开发效率。同样对于使用应用框架来说,有的开发者擅长使用框架的用户界面相关模块,而有的擅长使用框架的业务对象。

1.2.2 可重用性

代码的可重用性是开发中最重要和最令人期待的目标,应用框架为了能为基于其上构建的应用提供了这种可能性;而且不仅仅是应用框架的类和代码被重构了,其设计业被重用了。不同的应用通常会包含很多本质上的相似任务,然而团队中的不同开发者往往都会自己实现一遍 。这种重复的实现,不仅在重复的代码上不必要的浪费了资源,也为以后的维护带来了不便,这是因为要保证修改的彻底,必须对应用的对出同时修改,另外每个设计者的设计方法不尽相同,这可能使得应用的设计变得更加糟糕,为以后的带来了很多不可测的问题。然而,有了应用框架,我们能将大量的代码和通用的解决方案从应用层移到框架层。这样一来,开发者编写和维护的重复代码的数量就少了,开发的效率也大大提高了。应用框架是精心设计的组件的汇集之处,其中不乏“久经考验”的优秀软件设计方案。开发者并不一定是软件设计专家,但是一开始使用框架组件来构建应用程序,相应的自然而然在重用优秀的软件设计方法。比如藏在框架组件背后的设计模式

1.2.3 可扩展性

可扩展性是往现有的框架中增加自定义功能的能力,它使开发者不仅能够“ 即拆即用(out of box)”地使用组件,还能够改变组件,以适应特定的业务场景的需要。可扩展性是框架的重要特征。每一个业务应用都有独一无二的业务需求,架构和实现。虽然框架本身可容纳所有这些具体情况是不可能的,但是框架采取了支持客户定制化的设计思路;这样不同的业务应用依然能够使用框架的通用功能。同时,开发者通过框架插入自定义的业务逻辑,可以自由的按照独一无二的业务需求裁剪他们的应用。框架本身有了很高的扩展性,就能适用更多类型的业务应用。然而,在创建框架时,其扩展性总应根据支持它将支持的应用的设想和上下文来决定。扩家的扩展性越高,使用框架的开发者需要编写的代码就越多,需要了解的框架机制细节也就越多,这样会降低开发效率。所以关键在于,开发出你要开发的特定应用中最有可能发生变化之处,在哪里增加灵活性和可扩展性


1.2.4 简单性

简单性,不是指字面上的简单,而是指一种方法,框架通过封装处理流程的控制逻辑,使其对开发者透明,来简化开发工作,这种封装也是框架和类库的区别之一。类库由许多现成的,共开发者勇于构建应用的组件组成,但是开发者必须不理解不同组件之间的依赖关系,并通过编写处理流程代码把众多的组件组织起来。框架则不同,它通过预先把众多组件组织起来,封装了处理流程的控制逻辑;因此开发者就不用编写控制逻辑来组织组件之间的交互了。图1-2说明了类库和框架的区别
                                         

由图可知,应用开发者使用类库这种方法,必须写管理类库中不同组件实例控制流程,为此,开发应用者必须充分了解每个相关组件,以及组织组件协作所必须的业务逻辑。而是用框架这种方法时,由于大部分处理流程都被框架管理起来,所以开发者编写的控制代码非常少,由于应用框架影藏了不同组件之间的处理流程,这就免除了开发者编写协调逻辑之苦,也不用经历编写这些协调代码的学习曲线了,既然处理流程的控制逻辑从应用层转移到了框架层,那么框架设计人员就要运用其架构和领域知识,来定义框架内的组件协作,而是用框架的开发者,几乎无需知道组件如何协作,就能高效的开发应用

1.2.5 可维护性

可维护性是业务需求改变之后,其应用便于修改的能力;他是代码重用带来的一个受欢迎的效用。框架组件通常会被多个组件或者单个应用中的不同部分共享。只保留框架代码库使得应用易于维护,因为当需求改变时,你只需改变一次应用框架也可能包含多隔层,每一层关于应用要支持的业务都有某些假设。其中,最顶层包含了没有任何业务假设的框架组件,他们是框架中的通用组件。层次越往上,其组件依赖的业务假设性越高,因此对业务需求和业务规则的变化越敏感。每当变化发生时,只有那些业务假设会被打破的层中的组件需要修改和测试。因此让框架的不同层包含不同级别的业务知识,能够减少因改变业务需求和业务规则所带来的连锁反应。这也使得维护成本降低,因为只需维护因业务规则改变影响到的代码


1.3 应用框架的缺点

     应用框架带来了好处,也带来了开发过程中额外的代价

   a) 找到合适的人--业务领域的专家+软件设计专家+软件开发专家

   b) 用户培训--框架的用户是构建应用的开发者,所以培训用户就是训练用户使用并应用框架


      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值