框架 vs 工具包 vs 库

331

框架、工具箱和库之间有什么区别?

12个回答

0

关于Mittag的正确答案:

举个简单的例子,假设您在其中一个类中实现了ISerializable接口(.Net)。您利用了.Net的框架特性,而不是它的库特性。您填写了“白点”(正如Mittag所说),并完成了骨架。您必须事先知道框架将如何与您的代码“交互”。实际上,.net是一个框架,这就是我对Mittag观点的异议之处。

关于您的问题,完整、详细的答案this book的第19章中非常清晰地给出(整个章节都专门讨论了这个主题),顺便说一下,这是一本非常好的书(不仅仅适用于Smalltalk)。


嗯,那是一个有趣的观点。我认为 .Net Framework 实际上是一个工具包,由库、框架和虚拟机组成。大多数框架也包含库,并且通常还包括其他工具,因此从这个意义上说,它们成为围绕框架本身的工具包。所以我想你可以说 .Net 是一个框架是公平的。 - Didier A.
.NET的“框架”特性是否真的比它作为库和一组工具的特性更多?我表示怀疑,所以我认为这就是为什么争论仍在继续的原因。它不是更多的框架而是库和虚拟机,所以我觉得最好将其定义为工具包。或者甚至是一个平台吧。因为工具包现在常常偏向于UI方面。 - Didier A.

0

其他人已经指出,.net可能是一个框架、一个库和一个工具包,这取决于你使用的哪个部分,但也许举个例子会更有帮助。用于处理数据库的实体框架是.net的一部分,它确实使用了反转控制模式。你让它知道你的模型,它就会弄清楚该怎么做。作为程序员,你需要理解“框架的思维方式”,或者更现实地说,设计师的思维方式以及他们将如何处理你的输入。另一方面,datareader和相关调用只是一个工具,用于从表/视图中获取或放置数据,并使其对你可用。它永远不会理解如何将父子关系从对象转换为关系型,你需要使用多个工具来完成这项工作。但是你会更加掌控数据的存储方式、时间、事务等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接