一直说框架框架,框架到底是啥还是不太明白,
看了一些文章总结一下
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。
框架:
1、规定了应用的体系结构,
2、阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,
3、表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。

框架包括构件。


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

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

框架和普通的库在特性上具有一些关键性的区别:
控制反转: 与库或普通的应用不同,在框架中,应用的宏观控制流程不是由调用者决定的,而是由框架本身。
可扩展性: 用户可以扩展该框架 —— 通常是有选择的进行改写(Override)或者由程序员添加专门的用户代码来提供特定的功能。
不可修改框架代码: 通常,框架代码都不打算让你修改,而是接受由用户自己实现的某些扩展。换句话说,用户可以扩展该框架,但是不应该修改它的代码。