应用框架的设计与实现.net平台--应用框架解析(框架分层)

来源:互联网 发布:房地产数据来源 编辑:程序博客网 时间:2024/05/18 02:54

接下来深入的研究框架的细节即:框架的组成,如何为应用开发框架,以及什么样的面向对象和服务技术能为框架提供强有力的支持。为了更好的了解应用框架,首先要了解应用开发框架的组成,以及组成这些部分和系统其他部分的关系。

2.1 框架分层

从应用框架介绍中我们可知应用开发框架只是个半成品,他能作为一个业务应用的起点。基于框架开发的应用由两层组成:应用层和框架层,框架层又包括诸多组件,这些组件可分为两类,特定领域组件和跨领域组件。图2-1显示应用的不同组成部分以及他们之间的关系

2.1.1 业务应用层(Business Application)

业务应用代表客户化应用(Customer Application),它由应用开发者负责开发,为了达到特定应用目的,业务应用层必须实现事五巨细的业务知识,开发人员根据业务分析员描述的场景,来构建业务应用层。当逻辑业务和规则发生变化的时候,最有可能发生变化的正式业务应用层,特别是这种变化比较小并已经被隔离的时候,更是如此

2.1.2 应用框架层

应用框架式应用的半成品。软件架构师开发它,作为应用开发者构建业务应用层的基础,应用框架层可以被进一步划分为两层:特定领域架构层和扩领域架构层

特定领域框架(Domain-Specific Framework)层

特定领域层是针对特定业务领域的专有组件组成。相对业务应用层而言。特定领域框架层实现的知识,是对特定领域的所有应用通用的。而业务应用层的业务知识和业务逻辑,则是专门针对某个特许应用。

        特定领域层框架并不规定每个业务应用怎样构建,相反她提供一组组件,这些组件封装了特定业务领域的核心业务特征和核心业务过程,例如:对于一个B2C业务领域而言,购物车组件就是特定领域框架组件,该组件描述客户选购商品项,每项的数量和选购时间,不同的业务应用(这里仅指在线购物商店)可以在不同的场景以不同的方式来使用购物车组件,但他们都有个共同的特点,都需要一个对象提供诸如客户选购的商品项,每项的数量,和选购时间这些信息。

对业务应用层来说,开发人员负责设计和实现实际应用:特定领域框架则不同,它的设计和实现人员,必须对特定业务领域有专门的知识和深入的理解,并知道如何封装和抽象业务领域知识,才更易于实际业务应用层开发,尽管开发特定领域框架层的时候,软件架构设计技能都是很重要的,但业务的专门知识对该层的成功尤为关键

       特定领域框架层所包含的业务领域知识,比业务应用层的业务知识稳定多,我们期望,当业务应用层业务规则发生变化时,特定领域框架层能够很少变化或者不变化

跨领域框架层

跨领域框架层由不包含业务领域知识的框架组件组成,因为不包含业务领域知识,所以夸领域框架层能够被多个不同业务领域的应用共享。换言之,跨领域框架层中的组件和服务通用于大多数的应用。而不论是针对哪个业务领域的。

不同的业务领域的应用由很多公共的主题,这些主题被打包成跨领域框架层。例如:每一个应用都需要某种配置信息的功能,这些配置信息必须能被应用的不同部分所使用。如果已经有了这样的一个配置服务和架构,则众多不同业务领域的应用就不用再投入精力去重复开发了。再例如:在分布式应用环境下,一个应用常常需要和另外一个系统中的基础应用通信,所以一个现成的可用的,在不同应用之间传递信息的事件通知服务,将对开发分布式应用大有好处,所以不难明白,如果能在不同应用中识别出这些公共主题,并进一步开发出相关的服务和组件去满足这些公共需求,我们就能显著提供代码和设计的重用性。
跨领域框架层的开发者应当具备三个条件:他们开发过许多应用,他们应当对软件设计有深入的了解,并且他们知道哪些是众多应用中的通用功能。他们不必太了解特定的业务,但他们必须有优秀的面向对象技能,只有这样,开发出的框架才能让应用层的开发人员很容易的插入业务逻辑,以解决特定的应用的问题。

既然跨领域框架层不包含特定的领域知识,就可以把他们看成是通用的,因此,改变业务规则和业务需求,并不会影响跨领域框架层。然而,在开发过程中,如果认定了新的公共主题,跨领域层将会受影响,因为这个公共主题要在跨领域框架层中被实现。另外,如果最终框架设计方案中的某些方面影响了业务应用层与之相适应,跨领域框架层也必须修改。


2.1.3 基础框架层

基础框架层是一种编程模型,应用框架层和业务层在其上被构建,这一层是又软件供应商开发的,例如,Oracle的JAVA,和Microsoft.NEt.基础框架被用来开发五花八门的应用,它并不包括业务领域知识,对基础框架的修改,主要是出于高性能,或者支持新技术的需要。

2.1.4操作系统层

提供对诸如CPU,存储器,磁盘,网络这些系统资源访问外,还提供了对于其上所有层的访问。


了解了应用系统中的不同的层,以及各层在应用系统中的位置,在接下来的文档中看看如何构建一个应用框架(包含四个过程:分析,设计,构建,稳定)。

今天还必须去火车站接老婆,没时间写下去了,争取在下周完成四个过程的介绍,谢谢!!


0 0