Sunday, November 29, 2009

Introduction to .Net Framework

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.

.Net Framework

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.

Common Language Runtime Components

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.

ADO.NETASP.NET is a programming framework built on the common language runtime that can be used on a server to build powerful Web applications






Related Posts with Thumbnails