什么是框架?

2021-05-04 15:38:33 浏览数 (1)

应朋友解惑之邀,特意写一篇关于软件框架的知识分享,互相学习和指正

在编程领域,软件框架是指一种抽象形式,它提供了一个具有通用功能的软件,这些功能可以由使用者编写代码来有选择的进行更改,从而提供服务于特定应用的软件。软件框架提供了一种标准的方式来构建并部署应用。

软件框架是一种通用的、可复用的软件环境,它提供特定的功能,作为一个更大的软件平台的一部分,用以促进软件应用、产品和解决方案的开发工作。软件框架可能会包含支撑程序、编译器、代码、库、工具集以及 API,它把所有这些部件汇集在一起,以支持项目或系统的开发。

框架和普通的库在特性上具有一些关键性的区别:

*inversion of control_: In a framework, unlike in libraries or in standard user applications, the overall program’s flow of control is not dictated by the caller, but by the framework.*

控制反转与库或普通的应用不同,在框架中,应用的宏观控制流程不是由调用者决定的,而是由框架本身。

*extensibility_:A user can extend the framework – usually by selective overriding; or programmers can add specialized user code to provide specific functionality.*

可扩展性:用户可以扩展该框架 —— 通常是有选择的进行改写(Override)或者由程序员添加专门的用户代码来提供特定的功能。

*non-modifiable framework code_: The framework code,in general, is not supposed to be modified,while accepting user-implemented extensions. In other words, users can extend the framework, but should not modify its code.*

不可修改框架代码:通常,框架代码都不打算让你修改,而是接受由用户自己实现的某些扩展。换句话说,用户可以扩展该框架,但是不应该修改它的代码。

从更加宏观的角度去表达

一、什么是框架?

1、框架描述:

框架是一个半成品,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架是直接调用封装好的api可以省去很多代码编写,从而提高工作效率和开发速度。

2、什么是半成品:

红油抄手为例

2、案例(红油抄手制作):

方式一:

自行购买面粉准备器具加水进行搅拌成面团,不能太干也不能太湿,将整个大面团拆分成小面团,用擀面杖在准备好面团上进行碾压成面皮严格掌握厚薄,把制作好的肉馅包在面皮里面,抄手制作完成。

方式二:

直接购买面皮,把制作好的肉馅包在面皮里面,抄手制作完成。

方式一比较浪费时间,且必须掌握怎么搅拌面团的技巧和碾压面皮的技巧,相对较为复杂,面向过程方式。方式二采用面向对象的方式大大缩短了制作抄手的时间,面皮就是半成品。

3、框架定义

框架是一种经过校验、具有一定功能的半成品软件

经过校验:

指框架本身经过测试,且框架自身所具有的功能已经实现

具有一定功能:

指框架可以完成特定的功能,不同的框架功能不同

半成品软件:

指框架自身是一个软件,但是该软件无法直接运行,需要配合其他的程序才可以完成指定的工作

框架的工作模式:

开发工程师建立在框架的基础之上完成开发者完成部分加框架自身完成部分组成一个完整的产品

另外

框架的作用是什么?

框架可以帮助省略掉一些基本的相同底层代码的反复书写,只需调用框架的方法就可以实现你想要的功能。

为什么要学习框架?

学习框架的目的就是提高项目的编写效率,使你可以有更多的时间去编写属于自己独特的东西,而不需要将大量的时间花费在底层代码的书写上

参考文章

更多相关知识和参考文章来源可以关注我的博客站点

0 人点赞