By Published On: February 6, 2025Categories: Dot Net Developer

What is Dot Net Framework?

The .NET Framework is a software development platform that Microsoft created for building and running Windows applications. It includes developer tools, programming languages, and libraries for building desktop and web applications. Designed for Windows, it first launched in 2002 as .NET Framework 1.0. Since then, it has evolved significantly, with the latest version being .NET Framework 4.7.2.

The Microsoft .Net framework can be used to create both – Form-based and Web-based applications. Web services can also be developed using the .Net framework.

The framework also supports various programming languages such as Visual Basic and C#. So developers can choose and select the language to develop the required application.

.Net Framework Architecture

Dot NET Framework Architecture is a programming model for the .Net platform that provides an execution environment and integration with various programming languages for simple development and deployment of various Windows and desktop applications. It consists of class libraries and reusable components.

The basic architecture is shown below.

.Net Framework Architecture Diagram

.NET Components

The architecture of the .Net framework is based on the following key components;

1. Common Language Runtime

The “Common Language Infrastructure” or CLI is a platform in .Net architecture on which the .Net programs are executed.

The CLI has the following key features:

Exception Handling: Exceptions are errors that occur when the application is executed.

Examples of exceptions are:

  • If an application tries to open a file on the local machine, but the file is not present.
  • If the application tries to fetch some records from a database, but the connection to the database is not valid.

Garbage Collection: Garbage collection is the process of removing unwanted resources when they are no longer required.

Examples of garbage collection are

  • A file handle is no longer required. If the application has finished all operations on a file, then the file handle may no longer be required.
  • The database connection is no longer required. If the application has finished all operations on a database, then the database connection may no longer be required.

Working with Various programming languages –

As noted in an earlier section, a developer can develop an application in a variety of .Net programming languages.

  1. Language: The first level is the programming language itself, the most common ones are VB.Net and C#.
  2. Compiler: There is a compiler that will be separate for each programming language. So underlying the VB.Net language, there will be a separate VB.Net compiler. Similarly, for C#, you will have another compiler.
  3. Common Language Interpreter: This is the final layer in .Net which would be used to run a .net program developed in any programming language. So the subsequent compiler will send the program to the CLI layer to run the .Net application.

Common Language Runtime

2. Class Library

The Dot NET Framework includes a set of standard class libraries. A class library is a collection of methods and functions that can be used for the core purpose.

For example, there is a class library with methods to handle all file-level operations. So there is a method that can be used to read the text from a file. Similarly, there is a method to write text to a file.

Most of the methods are split into either the System.* or Microsoft.* namespaces. (The asterisk * just means a reference to all of the methods that fall under the System or Microsoft namespace)

A namespace is a logical separation of methods. We will learn these namespaces more in detail in the subsequent chapters.

3. Languages

The types of applications that can be built in the .Net framework are classified broadly into the following categories.

WinForms: This is used for developing Forms-based applications, which would run on an end-user machine. Notepad is an example of a client-based application.

ASP.Net: This is used for developing web-based applications, which are made to run on any browser such as Internet Explorer, Chrome or Firefox.

  • The Web application would be processed on a server, which would have Internet Information Services Installed.
  • Internet Information Services or IIS is a Microsoft component that is used to execute an Asp.Net application.
  • The result of the execution is then sent to the client machines, and the output is shown in the browser.

ADO.Net: This technology is used to develop applications to interact with Databases such as Oracle or Microsoft SQL Server.

Microsoft always ensures that .Net frameworks comply with all the supported Windows operating systems.

.Net Framework Design Principle

Now in this .Net Architecture tutorial, we will learn the design principles of the .Net framework. The following design principles of the .Net framework are what make it very relevant to create .Net-based applications.

1) Interoperability: The .Net framework provides a lot of backward support. Suppose you had an application built on an older version of the .Net framework, say 2.0. And if you tried to run the same application on a machine that had the higher version of the .Net framework, say 3.5. The application would still work. This is because, with every release, Microsoft ensures that older framework versions gel well with the latest version.

2) Portability: Applications built on the .Net framework can operate on any Windows platform. And now in recent times, Microsoft is also envisioning, making Microsoft products work on other platforms, such as iOS and Linux.

3) Security: The .NET Framework has a good security mechanism. The built-in security mechanism helps in both the validation and verification of applications. Every application can explicitly define its security mechanism. Each security mechanism is used to grant the user access to the code or the running program.

4) Memory management: The Common Language Runtime handles all memory management in the .NET Framework. It identifies unused resources in a running program and releases them accordingly. The Garbage Collector runs at regular intervals, checking for unutilized system resources and freeing them to optimize performance.

5) Simplified deployment: The .NET Framework includes tools to package applications for deployment. Developers can distribute these packages to client machines, where they automatically install the application.

Conclusion

The .NET Framework is a powerful Microsoft platform for building Windows and web applications. It supports multiple languages like C# and VB.Net, offering robust libraries, security, and simplified deployment. With continuous improvements ensuring compatibility, .NET remains a top choice for developers. For mastering it, .NET training provides essential skills for building efficient applications.

Share This Story, Choose Your Platform!

Share This Story,