谢谢
回答后,
但是,演讲者定义框架如下: 1.应该至少运行部分应用程序(他说半完整的应用程序) 2.它应该支持控制反转。
有人能解释一下吗?
再次感谢。
.NET是一个框架,包括BCL(基类库),CLR(公共语言运行时)等...
控制反转 - WinForms 和 WPF 库的程序流由这些库而非调用者决定。
默认行为 - 例如,WinForms 窗口的默认行为是显示一个基本的交互式窗口。
可扩展性 - 用户可以覆盖和专门化各种 .NET 类的功能。
不可修改的框架代码 - 如果您修改了任何 .NET 代码,Microsoft 将不会感到高兴。
这是一个由多个二进制库(DLLs)和CLR组成的框架。
针对第二部分问题的回答: .NET Framework提供了许多二进制库(DLLs),这些库为所有使用.NET语言(C#、F#、J#、VB.NET等)编写的应用程序共享的基本功能提供了很多支持。
在编译后,您的应用程序将被翻译成CLR指令(MSIL),并与为您提供的库一起由.NET Framework执行。
这是一个框架。
库通常是一组旨在实现特定目的的类,例如 .NET 中旨在进行互联网通信的 System.Net
库。
框架是一组类(或一组库),几乎涵盖了制作应用程序所需的所有内容,并且应用程序在框架中运行,而不需要直接与底层系统或硬件进行联系。
我对这些术语的简单定义如下:
使用库时,您可以使用其中任何部分;使用框架时,您必须按照其架构方式来设计程序。
因此,.NET可以仅作为库使用(在控制台应用程序、Windows服务等中使用),也可以作为框架使用(在ASP.NET或WinForms中使用)。
在我看来,一个区别是一个旨在创建从框架类派生的类。这甚至与类库有所不同。框架旨在更多地控制基本操作,而您可以扩展框架以满足自己的需求。