什么是框架和库的区别?
我认为库是一组对象和函数,专注于解决特定问题或特定应用程序开发领域(例如数据库访问);而框架则是基于特定方法论(例如MVC)的库集合,并覆盖应用程序开发的所有领域。
什么是框架和库的区别?
我认为库是一组对象和函数,专注于解决特定问题或特定应用程序开发领域(例如数据库访问);而框架则是基于特定方法论(例如MVC)的库集合,并覆盖应用程序开发的所有领域。
假设你在城市里开了一家汉堡店,但作为初学者,你觉得制作汉堡很难。你正在想一种简单的方法来为顾客制作汉堡。 有人告诉你,如果你使用框架,你可以轻松制作汉堡,并且你知道了有麦当劳汉堡框架和汉堡王汉堡框架
如果你使用麦当劳汉堡框架,那么制作巨无霸汉堡会非常容易。(但你不能制作美式烤汉堡。)
如果你使用汉堡王汉堡框架,那么制作美式烤汉堡也会非常容易。(但你不能制作巨无霸。)
总之,它们最终都是汉堡。这里重要的是,你必须遵循它们框架的规则来制作汉堡。否则,你会感到更难制作或无法制作。
你还听说过简单汉堡肉饼库这个东西。
如果你使用这个库,你可以轻松制作任何汉堡肉饼(速度是原来的两倍)。 无论你使用麦当劳汉堡框架还是汉堡王汉堡框架,都可以使用这个简单汉堡肉饼库。(甚至可以不使用框架。)
现在你看到了框架和库的区别了吗?
一旦你开始使用麦当劳汉堡框架,要切换到汉堡王汉堡框架就不容易了。因为你得改整个厨房。
如果你开始使用Java Spring框架构建Web应用程序,后来想要改成Ruby on Rails框架会很难(也许是不可能的)。
但是对于库来说,切换到其他库会更容易,或者你可以选择不使用它。
库实现了一个狭窄范围的功能,而框架则倾向于是提供更广泛功能支持的库集合。例如,库System.Drawing.dll处理绘图功能,但它只是整个.NET框架的一部分。
图书馆是为了使用方便和效率。例如,Zend库可以帮助我们通过其定义良好的类和函数完成不同的任务。而框架通常强制实现一种解决方案,如MVC(模型-视图-控制器)(参考)。这是一种定义明确的任务分配系统,如MVC。模型包含数据库端,视图用于UI界面,控制器用于业务逻辑。
您的解释听起来很好... 一个库可以是编译并自包含的任何内容,可供其他代码重复使用,其内容没有任何限制。
而框架则被期望具有一系列用于某个特定应用开发领域的工具和设施,就像您的例子中的MVC一样。
我认为你已经很好地概括了区别:框架提供了一个我们进行工作的框架...在某种程度上,它比简单的库更加“约束性”。
框架还应该为一组库添加一致性。
库 - 任何一组类或组件,可以根据客户的需要使用来完成特定任务。
框架 - 强制你遵循某些指导方针,以便“插入”到比你更大的东西中。你只需以已发布所需的方式提供适用于你的应用程序/要求的特定部分,以便“框架可以使你的生活更轻松”。
什么是库?
一个库是由开发者构建的代码块集合(可以是变量、函数、类、接口等形式),旨在为其他开发者简化软件开发过程。
什么是框架?
根据库的定义,我们可以将框架定义为一种工具,它通过在受控开发环境中提供必要的库来帮助开发者解决大范围的特定领域问题。
特定于问题的代码可以使用库并实现框架。