Presentation is loading. Please wait.

Presentation is loading. Please wait.

Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.

Similar presentations


Presentation on theme: "Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented."— Presentation transcript:

1 Overview of the.NET Framework

2 What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented programming environment A code-execution environment that: –Minimizes software deployment and versioning conflicts

3 Primary Components of.NET.NET Framework Class Libraries –Object-oriented collection of reusable types –Sits on-top of the Common Language Runtime Common Language Runtime (CLR) –Manages code execution at runtime –Memory management, thread management, etc. –Code designed for the CLR is referred to as “Managed Code”

4 .NET Framework Class Libraries Sit on top of the CLR Reusable types that tightly integrate with the CLR Object oriented – inheritance, polymorphism, etc. Provide functionality for ASP.NET, XML Web Services, ADO.NET, Windows Forms, basic system functionality (IO, XML, etc.)

5 Operating System Common Language Runtime (CLR) Inside the.NET Framework Base Framework Data and XML Web ServicesUser Interface VBC++C# ASP.NET J#Python… Secure, integrated class libraries Unifies programming models across languages Enables cross-language integration Factored for extensibility Designed for tools Secure, integrated class libraries Unifies programming models across languages Enables cross-language integration Factored for extensibility Designed for tools Common Language Runtime Executes code, maintains security, handles component “plumbing” and dependencies Common Language Runtime Executes code, maintains security, handles component “plumbing” and dependencies ASP.NET High-productivity environment for building and running Web services ASP.NET High-productivity environment for building and running Web services

6 One Runtime For Many Languages CLR is an open standard Any language can make use of CLR services Any language can use classes written in any other language Any language can inherit classes written in any other language

7 Ada Ada APL APL Basic Basic (Visual Basic) C# C# C C++ C++ Java Java Language COBOL COBOL Component Component Pascal (Queensland Univ of Tech) ECMAScript ECMAScript (JScript) Eiffel Eiffel ( Monash University) Haskell Haskell (Utrecht University) Current List of Language Compilers lcc lcc (MS Research Redmond) Mondrian Mondrian (Utrecht) ML ML (MS Research Cambridge) Mercury Mercury (Melbourne U.) Oberon Oberon (Zurich University) Oz Oz ( Univ ( Univ of Saarlandes) Perl Perl Python Python Scheme Scheme (Northwestern U.) SmallTalk SmallTalk

8 The Common Language Runtime Code that targets the CLR is referred to as managed code All managed code has the features of the CLR –Object Oriented –Cross-language integration –Cross language exception handling –Multiple version support (no more DLL Hell)

9 The Common Language Runtime The CLR manages object layout and references to objects Objects whose lifetimes are managed by the CLR are referred to as Managed Data Automatic memory management reduces memory leaks In managed code you can use: –Managed Data –Unmanaged data –Both

10 The Common Language Runtime All CLR-compliant compilers use a common type system –Allows for cross-language inheritance –Passing object instances across language barriers –Invoking methods across language barriers Managed components expose metadata Metadata includes –Resources component was compiled against –Information about types and dependencies (no more RegServ32

11 Managed Execution Process public void Fill() { DotNetJunkies.StudyGroupPortal.Data.EventDB eDB = new DotNetJunkies.StudyGroupPortal.Data.EventDB(); //Create a data reader IDataReader reader = eDB.GetEventByGuid(_guid); //Advance to the first record in the reader reader.Read(); //Populate this instance of the Event class this.CreateEvent(ref reader); //Close the reader reader.Close(); } MSIL Language Specific Compiler

12 Assembly Compilation And Execution Source Code Language Compiler Compilation Code (IL) Metadata

13 Microsoft Intermediate Language Managed code is compiled to MSIL CPU-independent set of instructions –Loading, storing, initializing and calling methods –Arithmetic and logical operations, etc. –Control flow, exception handling, direct memory access

14 Assemblies Contains MSIL code to be executed Security boundary – permissions are granted at the assembly level Type boundary – all types include the assembly name they are a part of Self-describing manifest – metadata that describes the types in the assembly Smallest versionable unit in the CLR Deployment unit

15 Just-In-Time Compiling Assemblies are compiled to native code by a Just-In-Time (JIT) compiler Compiled assemblies include metadata No Type Libraries or Interface Definition Language (IDL)

16 Assembly Compilation And Execution Source Code Language Compiler Compilation Before installation or the first time each method is called Execution JIT Compiler NativeCode Code (IL) Metadata

17 Just-In-Time Compiling All assemblies must be compiled to native code before executing JIT compilers are built into the CLR for every supported CPU architecture JIT compilers convert MSIL to native on demand Resulting native code is stored for reuse JIT compiling occurs for each method after the application is restarted

18 Summary.NET Framework is a code execution platform.NET Framework consists of two primary parts:.NET Class Libraries, Common Language Runtime All CLR-compliant compilers support the common type system Managed code is object oriented Managed code is compiled to and assembly (MSIL) by language specific compiler Assemblies are compiled to native code by JIT compiler

19 Questions?


Download ppt "Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented."

Similar presentations


Ads by Google