因为初学者对整个程序的结构把握起来有困难,我在给大一的学生布置作业时,会给出部分的代码,反映整个程序的骨架,学生只要将其中缺少的一部分填上即可。给出的这一部分代码,可以称得上是最简单的框架,降低了学生做作业的难度,不至于频受打击,至少是可以少写些代码了。http://www.czhztjz.com/ http://www.czhlife.com
在软件项目的开发中,具有一定规模的软件系统已经非常复杂,涉及到的问题也很多,开发周期也变得更长。而同类的软件,如不同机构的主页,在结构上有很多的雷同之处,区别只在于核心的业务实现部分。于是,将这些雷同的部分抽取出来,往往对应的就是关于软件整体结构的部分,形成的就是同类软件中可以重用的软件框架。有些大的公司和机构专门研究工程中的共性问题,将框架作为他们的产品推出。在软件项目开发中,技术人员使用成熟的框架,只需要集中精力完成系统的业务逻辑设计即可。这相当于盖楼时直接吊装来一个现成的建筑框架,让别人先期帮你完成一些基础工作,你所做的是根据具体的需要,在框架中砌墙,以及做装修。框架一般是成熟、稳健、安全的,经过了很多人使用,有良好的结构,在系统质量方面占有优势。框架其实就是某种应用的半成品,供你选用完成你自己的应用系统。这样,软件项目开发也像是做填空题,降低了难度,节省了时间,提高了质量。
按照软件工程的术语,框架是可以复用的设计构件,规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程。也有人给出定义:框架是在一个给定的问题领域内,一个应用程序的一部分设计与实现。
目前流行的大部分语言在开发时都可以利用框架。Java语言在J2EE开发中常用Spring框架,在开发web应用时可以使用Struts框架,还有为数众多的开源框架支持Java语言在不同领域的开发。.NET框架是由微软开发,是一个致力于敏捷软件开发、快速应用开发、平台无关性的软件开发平台,主要的语言是C#。支持PHP web程序开发的框架也为数众多,Zend框架在开发社区中有大量的追随者。著名的Ajax框架整合了JavaScript、XML、CSS等已有技术,成为创建交互式web应用的主要开发技术。对于各种成熟的IDE,也为框架提供了支持。开发一个程序,常常从先设置框架开始。IDE中提供了模板,或者向导程序,通过用户自行选择一些参数,从而生成定制化的框架,供开发者进一步开发使用。
|