There
are many articles are available in the web on this topic; I just
want to add one more article over the web by explaining
Components of .Net Framework.
Components
of .Net Framework
Net
Framework is a platform that provides tools and technologies to
develop Windows, Web and Enterprise applications. It mainly
contains two components,
1. Common
Language Runtime (CLR)
2. .Net
Framework Class Library.
1.
Common Language Runtime (CLR)
.Net
Framework provides runtime environment called Common
Language Runtime (CLR).It provides an environment to run
all the .Net Programs. The code which runs under the CLR is
called as Managed Code. Programmers need not to worry
on managing the memory if the programs are running under the CLR
as it provides memory management and thread
management.
Programmatically, when our program needs
memory, CLR allocates the memory for scope and de-allocates the
memory if the scope is completed.
Language Compilers (e.g.
C#, VB.Net, J#) will convert the Code/Program to Microsoft
Intermediate Language (MSIL) intern this will be
converted toNative Code by CLR. See the below Fig.
There
are currently over 15 language compilers being built by Microsoft
and other companies also producing the code that will execute
under CLR.
2. .Net
Framework Class Library (FCL)
This is also called
as Base Class Library and it is common for all types of
applications i.e. the way you access the Library Classes and
Methods in VB.NET will be the same in C#, and it is common for
all other languages in .NET.
The following are
different types of applications that can make use of .net class
library.
1. Windows
Application.
2. Console
Application
3. Web
Application.
4. XML
Web Services.
5. Windows
Services.
In
short, developers just need to import the BCL in their language
code and use its predefined methods and properties to implement
common and complex functions like reading and writing to file,
graphic rendering, database interaction, and XML document
manipulation.
Below are the few more concepts that we need
to know and understand as part of this .Net
framework.
3. Common
Type System (CTS)
It describes set of data types
that can be used in different .Net languages in common. (i.e),
CTS ensures that objects written in different .Net languages can
interact with each other.
For Communicating between
programs written in any .NET complaint language, the types have
to be compatible on the basic level.
The common type
system supports two general categories of types:
Value
types:
Value types directly contain their data, and
instances of value types are either allocated on the stack or
allocated inline in a structure. Value types can be built-in
(implemented by the runtime), user-defined, or
enumerations.
Reference types:
Reference
types store a reference to the value's memory address, and are
allocated on the heap. Reference types can be self-describing
types, pointer types, or interface types. The type of a reference
type can be determined from values of self-describing types.
Self-describing types are further split into arrays and class
types. The class types are user-defined classes, boxed value
types, and delegates.
4. Common Language
Specification (CLS)
It is a sub set of CTS and it
specifies a set of rules that needs to be adhered or satisfied by
all language compilers targeting CLR. It helps in cross language
inheritance and cross language debugging.
Common
language specification Rules:
It describes the minimal
and complete set of features to produce code that can be
hosted by CLR. It ensures that products of compilers will work
properly in .NET environment.
Sample
Rules:
1. Representation
of text strings
2. Internal
representation of enumerations
3. Definition
of static members and this is a subset of the CTS which all
.NET languages are expected to support.
4. Microsoft
has defined CLS which are nothing but guidelines that language to
follow so that it can communicate with other .NET languages in a
seamless manner.
|