从零开始编写自己的C#框架(27)——什么是开发框架

  做为一个程序员,在开发的过程中会发现,有框架同无框架,做起事来是完全不同的概念,关系到开发的效率、程序的健壮、性能、团队协作、后续功能维护、扩展......等方方面面的事情。很多朋友在学习搭建自己的框架,很多公司也在创建或使用自己的框架,网上开源的框架多如牛毛,每年新上线的各种框架也不知多少。而不停的重复造轮子,也让更多的朋友鸟枪换炮,越跑越快,工作效率越来越高。那么什么是框架呢?

 

  什么是框架

  度娘上说:框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法; 另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

  可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。

  应用框架指的是实现了某应用领域通用完备功能(除去特殊应用的部分)的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用期望的默认行为的类集合。具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支持应用专用的行为。

  应用框架强调的是软件的设计重用性和系统的可扩充性,以缩短大型应用软件系统的开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较,应用框架更注重于面向专业领域的软件重用。应用框架具有领域相关性,构件根据框架进行复合而生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整。

  框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

  上面是度娘百科——框架里讲的内容,讲得挺理论挺全面的,直接复制了一些过来。

 

  简单来讲,软件开发框架可以理解为我们起楼房时,用梁+柱子+承重墙做起来的钢筋混凝土结构框架。而实现的软件功能,也就像在这个框架结构中所要实现的不同类型、功能的房子,比如停车场、商场、酒店、饭店、商住房......

  功能强大,结构扎实的框架,可承载的类型就更多,适用性就更强。

  不论是什么开发框架,都是为现实不同的业务功能而创建的。好的开发框架能提高企业的竞争能力,包括降低开发成本、提高产品质量、改善客户满意程度、控制开发进度等。同时,开发框架也是某一领域为实现某种业务的知识积累,它是一种持续性的活动,随着特定业务功能实现而创建,且跳出软件开发周期而存活。一个成熟的框架,不单单只是代码而已,它除了将某一领域业务的基础功能以代码的方式实现外,还必须编写对应的文档、模型、流程图、数据字典、开发使用说明.....等一系列的文档来支撑,这样的框架才更加成熟和健壮。

 

  为什么要使用框架

  软件系统随着业务的发展,变得越来越复杂,不同领域的业务所涉及到的知识、内容、问题非常非常多。如果每次都从头开发,那都是一个很漫长的事情,且并不一定能将它做好。团队协作开发时,没有了统一标准,大家各写各的,同样的重复的功能到处都是。由于没有统一调用规范,很难看懂别人写的代码,出现Bug或二次开发维护时,根本无从下手。(无框架不堪回首的黑暗日子请看前面章节的讲述)

  而一个成熟的框架,它是模板化的代码,它会帮我们实现很多基础性的功能,我们只需要专心的实现所需要的业务逻辑就可以了。而很多底层功能操作,就可以完完全全不用做太多的考虑,框架已帮我们实现了。这样的话,整个团队的开发效率可想而知。另外对于团队成员的变动,也不用太过担心,框架的代码规范让我们能轻松的看懂其他开发人员所写的代码。

 

  搭建框架时,我们要如何定位

  是不是框架的扩展性、可移值性、功能越强大就越好呢?

  好的框架是相对的,它都有自己特定的应用领域,合适才是最好。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzfwf.html