框架、工具箱和库之间有什么区别?
关于Mittag的正确答案:
举个简单的例子,假设您在其中一个类中实现了ISerializable
接口(.Net)。您利用了.Net的框架特性,而不是它的库特性。您填写了“白点”(正如Mittag所说),并完成了骨架。您必须事先知道框架将如何与您的代码“交互”。实际上,.net是一个框架,这就是我对Mittag观点的异议之处。
关于您的问题,完整、详细的答案在this book的第19章中非常清晰地给出(整个章节都专门讨论了这个主题),顺便说一下,这是一本非常好的书(不仅仅适用于Smalltalk)。
其他人已经指出,.net可能是一个框架、一个库和一个工具包,这取决于你使用的哪个部分,但也许举个例子会更有帮助。用于处理数据库的实体框架是.net的一部分,它确实使用了反转控制模式。你让它知道你的模型,它就会弄清楚该怎么做。作为程序员,你需要理解“框架的思维方式”,或者更现实地说,设计师的思维方式以及他们将如何处理你的输入。另一方面,datareader和相关调用只是一个工具,用于从表/视图中获取或放置数据,并使其对你可用。它永远不会理解如何将父子关系从对象转换为关系型,你需要使用多个工具来完成这项工作。但是你会更加掌控数据的存储方式、时间、事务等。