我对这些定义感到困惑。
您能否定义JavaScript库的最低“必须”,以便将其视为软件框架?
感谢
答案 0 :(得分:9)
在我看来,框架和库之间的区别非常模糊。通常,软件框架规模较大,通常会“接管”您的应用程序(因为它们为您的应用程序提供了基础或“框架”)。另一方面,图书馆提供了一系列可供您选择的功能。
Wikipedia还有一些specific criteria用于区分框架和库:
- 控制反转 - 在一个框架中,与库或普通用户应用程序不同,整个程序的控制流程不是由调用者决定的,而是由框架决定的。
- 默认行为 - 框架具有默认行为。此默认行为实际上必须是一些有用的行为,而不是一系列无操作。
- 可扩展性 - 用户通常可以通过选择性覆盖或由提供特定功能的用户代码专门扩展框架。
- 不可修改的框架代码 - 通常不允许修改框架代码。用户可以扩展框架,但不能修改其代码。
醇>