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:
Component | Description |
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 |
Garbage collection | -- |
Security Engine | Provides security based on user identity and code origin |
Debugger | -- |
Type Checker | -- |
Exception Manager | Provides structured Exception handling, integrates with Windows Structured Error Handling (SEH) |
Thread Support | -- |
COM marshaler | -- |
.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.
ASP.NET is a programming framework built on the common language runtime that can be used on a server to build powerful Web applications
References:
1. http://skwpspace.com/2009/09/29/five-rules-for-writing-good-code/
2. http://msdn.microsoft.com/en-us/netframework/default.aspx