In his latest blog post about five rules for writing good code, Yan Pritzker states Rule 5 as Really learn the language and the framework. He says “No need to be a walking encyclopedia, but remember to occasionally open up that encyclopedia and read through it so that you know at least what’s out there.” So, I decided to revisit some .NET fundamentals and jot down my notes here.
The following is a short introduction to .Net framework and its components.
The .Net architecture consists of the Common Language Runtime (CLR), .Net Framework Class library, and language support components.
The Common Language Runtime (a.k.a. CLR) simplifies provides a robust and secure execution environment for .NET applications. It is also referred to as a managed environment, in which common services, such as garbage collection and security, are automatically provided.
A short description of some of the components is below:
|Class Loader||Manages metadata, loading and layout of classes|
|MSIL to Native Compiler||JIT compiler for converting MSIL to Native code|
|Code Manager||Manages code execution|
|Security Engine||Provides security based on user identity and code origin|
|Exception Manager||Provides structured Exception handling, integrates with Windows Structured Error Handling (SEH)|
|.NET Class Library support||Integrates code with the runtime that supports the .NET Framework class library|
The .NET Framework class library exposes features of the runtime and provides other high-level services.
ADO.NET, the next generation of ADO technology provides improved support for disconnected programming. It also provides rich XML support in the System.Xml namespace.