学编程,来源栈;先学习,再交钱
当前系列: 软件工程 修改讲义

框架/类库

这个概念让很多小白抓瞎……

尽量白话的比喻/解释:

我们项目可以利用的、现成的一些代码、工具等。

区别

非常微妙,大致类似于CEO和厂长/老板的区别:框架逼格更高。严格来说,

  • 框架:整个项目的根基、基本盘
  • 类库:项目使用/引用的一些实现局部功能的代码,一般以类的形式封装

但框架也可以由类库组成,类库也可以充当框架……


--------------------



所谓类库(class libary),简单的理解:就是“类的仓库”,或者一堆类、大量类的集合。这些类通常都是公开的、公用的,由厂商、开源个人/组织编写,提供给广大开发者使用。

一般来说,编程语言的所有者会为语言提供最基本的类库,我们就会称其为“官方库”,或者“基本库”;其他人提供的类库就被称之为“第三方库”。

所谓框架(Framework),概念也比较模糊,一般认为,它高于类库,即它还提供一些类库以外的东西,但这“以外的东西”,本质上还是可以以类的形式出现,所以……尤其是很多类库要往自己脸上贴金,硬说自己是类库,你也不能说它不对!

我们打几个比方:

  • 类库是车间,框架是工厂
  • 类库是厂长经理,框架是CEO
  • 建设一个小区,框架是地基、道路、水电管网,类库是混凝土、各种预制件……
--------------------



说明:以下内容不要求预备班学习

依赖地狱

一个真实的开发项目,需要依赖大量的第三方类库,而:

  • 这些类库之间又有各种依赖
  • 依赖还可能基于版本不同

从而形成“依赖地狱”:一旦其中任何一依赖项出错,项目就崩了。

这不仅仅是在项目搭建的时候,而且还发生项目升级的时候(新版本不兼容老版本)。

为了解决(抑制)这个问题,推出了各种依赖管理工具:

  • npm:面向JavaScript、前端开发人员
  • nuget:面向.NET开发人员
  • maven:面向Java开发人员

他们的本质都是

  • 提供一个(或若干个)远程的仓库(网址),集中的存放大量的第三方类库
  • 用户在本地安装下载类库工具(npm/nuget/maven),利用该工具向远程请求下载某三方类库
  • 当用户下载某个第三方类库的时候,自动的将该三分类库所依赖的其他三方类库一同提供
  • 同时,类库管理工具还在本地维护第三方类库的各种依赖关系


学习笔记
源栈学历
键盘敲烂,月薪过万作业不做,等于没学

作业

觉得很 ,不要忘记分享哟!

任何问题,都可以直接加 QQ群:273534701

在当前系列 软件工程 中继续学习:

上一课: Git插件:eclipse

多快好省!前端后端,线上线下,名师精讲

  • 先学习,后付费;
  • 不满意,不要钱。
  • 编程培训班,我就选源栈

更多了解 加:

QQ群:273534701

答疑解惑,远程debug……

B站 源栈-小九 的直播间

写代码要保持微笑 (๑•̀ㅂ•́)و✧

公众号:源栈一起帮

二维码