Framework VS Library

来源:互联网 发布:绝食知乎 编辑:程序博客网 时间:2024/06/06 05:50

写在前面的话

  我们可能会经常听到架构、框架、库这些概念,“某某系统使用了某某框架“,”有个新的系统架构要学习“,”jQuery是个js库“诸如此类的话。弄清楚这些概念对我们的学习是有帮助的。

  这个问题其实是个FAQ,我们在这里分析一下这两个概念。

Library

  库即仓库,软件行业中库中通常保存的是一组常用的函数,或者在面向对象的世界里,保存了一系列的类来实现代码的复用。作为用户的你只需要调用库中的方法即可,而不用再去创造方法,不是重复的”造轮子“。

Framework

通常是指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。

  也就是说框架更大程度是一种规范,又或者是针对此规范的实现。

小结

  关于这两个概念的对比,我查了不少资料,众说纷纭。相比之下我还是更赞同Panos的观点。


这里写图片描述

  Library和Framework最大的区别是:don’t call us, we’ll call you,是著名的The Hollywood principle-好莱坞原则。

  • 在调用Library的时候, 我们可以按照自己意愿选择来如何调用它(如jQuery)


    这里写图片描述

  • Framework则是倒转过来了,是它在调用你(如AngularJS),


    这里写图片描述

1 0
原创粉丝点击