日期:2014-05-16 浏览次数:20976 次
还记得在B/S刚开始时,就经常提到框架这个词,最近这段时间在学习asp.net中,又涉及到了框架,所以现在来对框架来进行下学习。
现在关于框架还没有统一的定义,其中Ralph Johnson所给出的定义基本上为大多数研究人员所接受。这两个定义分别是从两个方面来进行定义的。
首先来看下第一个是从框架内涵角度来定义的:“一个框架是一个可复用设计,它是由一组抽象类及其实例间协作关系来表达的。”
另一个定义是从框架用途角度给出的定义,“一个框架是在一个给定的问题领域内,一个应用程序的一部分设计与实现。”
从软件设计角度来理解,框架是一个可复用的软件架构解决方案,规定了应用的体系结构,阐明软件体系结构中各层次间及其层次内部各组件间的关系,责任分配和控制流程,表现为一组接口,抽象类以及实例间协作的方法。
我的理解是框架是一种技术或者说框架是一个软件,它将多种技术进行了整合,使其可以实现某个领域内一些基础功能的底层服务。这样的话使用这种框架的编程人员就可以在一个基本功能已经实现的基础上开始具体的系统开发。通俗的说,就是别人搭好了舞台,你来做表演即可,这个舞台就是框架。当然了,这个框架是可以不断更新的,框架也是有很多种的。
从我们软件开发人员角度来讲,我们都知道,软件系统发展到今天已经很复杂了,特别是在服务器端软件,涉及到的知识、内容、问题也越来越多,这样的话,在某写方面我们使用别人成熟的框架,酒啊相当于让别人帮我们完成了一些基础性的工作,我们也就有了更多的精力去完成系统的业务逻辑设计,因为这些框架是将技术进行了整合,这些框架一般也比较成熟和稳健,想事物处理、安全性、数据流控制等很多细节方面的问题都可以处理。同时这些框架一般也都经过了很多人的使用,结构很好、扩展性也不错,并且是不断升级的,这样我们就可以直接享受别人升级代码带来的好处,省去我们很多的工作。
从业务角度来讲,首先,框架是为了企业的业务发展和战略规划而服务的;其次,框架最重要的目标是提高企业的竞争能力,包括降低成本、提高质量、改善客户满意程度,控制进度等方面。最后,框架实现这一目标的方式是进行有效的知识积累。软件开发是一种知识活动,因此知识的聚集和积累是至关重要的。框架能够采用一种结构化的方式对某个特定的业务领域进行描述,也就是将这个领域相关的技术以代码、文档、模型等方式固化下来。
所以对于框架来说最重要的两个字就是重用,重用代码、重用设计、重用分析。关于重用,我在多说两句,在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
框架在我们的web开发中使用的也比较广泛,例如,框架把网页在一个浏览器窗口下分割成几个不同的区域,实现在一个浏览器窗口中显示多个HTML页面。使用框架还可以非常方便的完成导航工作,让网站的结构更加清晰,而且各个框架之间决不存在干扰问题。利用框架还有一重要特点就是使网站的风格一致。通常把一个网站中页面相同的部分单独制作成一个页面,作为框架结构的一个子框架的内容给整个网站公用等等很多方面。