什么是应用程序框架

什么是应用程序框架?正如框架是架构的具体实现一样,应用程序框架是应用程序架构的具体实现。不过这样说了等于没说,因为框架和架构都是如此抽象。为了获得直观的感受,下面先看看更具体的.Net Framework和第三方框架。

.Net Framework为.Net程序员提供了一个庞大的类库,几乎任何开发任务在.Net Framework中都能找到答案。虽然如此,.Net Framework还是不能一手遮天。 例如,现在我们在项目中需要记录日志,一种办法是直接使用.Net Framework的文件操作类把日志记录到文件中,或者干脆调用Ado.Net保存到数据库。但估计大部分人都不会这样做,而是选择第三方日志框架来完成这个任务,这样可以获得更易用的API和扩展性。

为什么微软不在.Net Framework中直接提供一个日志组件,这样就不用再引入第三方的东西。.Net Framework是为全球程序员提供的底层基础框架,不是针对某个领域或应用的,仅提供比较原始的东西,而完善的日志组件属于应用层需求。

由此可见,.Net Framework作为底层框架提供原始API,第三方框架在.Net Framework基础上针对某个特定领域提供解决方案。

正如.Net Framework不能满足需求一样,单凭.Net Framework和第三方框架依然无法满足需求。虽然.Net Framework和第三方框架已经完成了所有基础工作,但为了获得更易用的API和满足应用程序个性化需求,还需要为应用程序创建一个支持性框架,这就是应用程序框架,如下图如示。

从上图可以看到,应用程序框架是建立在.Net Framework和第三方框架之上,为应用程序提供一套API,主要目标是帮助简化应用程序开发。

应用程序框架实战