SlideShare une entreprise Scribd logo
1  sur  37
ARCHITECTURE IN .NET
Larry Nung
AGENDA
Overview
Common Language Infrastructure (CLI)
Common Language Runtime (CLR)
Just In Time Compiler (JIT)
Common Intermediate Language (CIL)
Base Class Library (BCL)
Framework Class Library (FCL)
Common Type System (CTS)
Common Language Specification (CLS)
Reference
Q & A 2
OVERVIEW
3
OVERVIEW
4
COMMON LANGUAGE
INFRASTRUCTURE (CLI)
5
COMMON LANGUAGE INFRASTRUCTURE (CLI)
 An open specification describes the executable
code and runtime environment.
6
COMMON LANGUAGE RUNTIME (CLR)
7
COMMON LANGUAGE RUNTIME (CLR)
 The .NET Framework provides a run-time
environment called the common language runtime,
which runs the code and provides services that
make the development process easier.
8
COMMON LANGUAGE RUNTIME (CLR)
9
COMMON LANGUAGE RUNTIME (CLR)
 Performance improvements.
 The ability to easily use components developed in other
languages.
 Extensible types provided by a class library.
 Language features such as inheritance, interfaces, and
overloading for object-oriented programming.
 Support for explicit free threading that allows creation of
multithreaded, scalable applications.
 Support for structured exception handling.
 Support for custom attributes.
 Garbage collection.
 Use of delegates instead of function pointers for
increased type safety and security. For more information
about delegates, see Common Type System. 10
COMMON LANGUAGE RUNTIME (CLR)
11
JUST IN TIME COMPILER (JIT)
12
JUST IN TIME COMPILER (JIT)
 JIT compilation converts MSIL to native code on
demand at application run time, when the contents
of an assembly are loaded and executed.
13
JUST IN TIME COMPILER (JIT)
 Normal-JIT Compiler
 Compile methods in runtime as needed.
14
JUST IN TIME COMPILER (JIT)
 Econo-JIT
 A runtime compiler which hadn’t done any optimization
and removed methods’ machine code when it is not
required.
15
 Pre-JIT Compiler
 Compile the entire assembly before it has been used.
16
COMMON INTERMEDIATE LANGUAGE
(CIL)
17
COMMON INTERMEDIATE LANGUAGE (CIL)
 Microsoft intermediate language (MSIL)
 Lowest-level human-readable programming
language defined by the Common Language
Infrastructure (CLI) specification
18
BASE CLASS LIBRARY (BCL)
19
BASE CLASS LIBRARY (BCL)
 The Base Class Library (BCL) is the core set of
classes that serve as the basic API of the Common
Language Runtime. The classes in mscorlib.dll and
some of the classes in System.dll and
System.core.dll are considered to be a part of the
BCL. It includes the classes in namespaces like
System , System.Diagnostics ,
System.Globalization, System.Resources ,
System.Text , System.Runtime.Serialization and
System.Data etc.
20
BASE CLASS LIBRARY (BCL)
21
FRAMEWORK CLASS LIBRARY (FCL)
22
FRAMEWORK CLASS LIBRARY (FCL)
 The Framework Class Library (FCL) is a superset
of the BCL classes and refers to the entire class
library that ships with .NET Framework. It includes
an expanded set of libraries, including Windows
Forms, ADO.NET, ASP.NET, Language Integrated
Query, Windows Presentation Foundation,
Windows Communication Foundation among others.
23
FRAMEWORK CLASS LIBRARY (FCL)
24
COMMON TYPE SYSTEM (CTS)
25
COMMON TYPE SYSTEM (CTS)
 Define how types are declared, used, and managed
in the common language runtime.
26
COMMON TYPE SYSTEM (CTS)
 Establishes a framework that helps enable cross-
language integration, type safety, and high-
performance code execution.
 Provides an object-oriented model that supports the
complete implementation of many programming
languages.
 Defines rules that languages must follow, which
helps ensure that objects written in different
languages can interact with each other.
 Provides a library that contains the primitive data
types (such as Boolean, Byte, Char, Int32, and
UInt64) used in application development. 27
COMMON TYPE SYSTEM (CTS)
 Value types are data types whose objects are
represented by the object's actual value. If an
instance of a value type is assigned to a variable,
that variable is given a fresh copy of the value.
 Reference types are data types whose objects are
represented by a reference (similar to a pointer) to
the object's actual value. If a reference type is
assigned to a variable, that variable references
(points to) the original value. No copy is made.
28
COMMON TYPE SYSTEM (CTS)
29
COMMON LANGUAGE SPECIFICATION
(CLS)
30
COMMON LANGUAGE SPECIFICATION (CLS)
 This is a subset of the CTS, which all .NET
languages are expected to support.
31
REFERENCE
32
REFERENCE
 Common Language Infrastructure - Wikipedia, the
free encyclopedia
 http://en.wikipedia.org/wiki/Common_Language_Infrastr
ucture
 Common Type System
 https://msdn.microsoft.com/en-
us/library/zcx1eb1e(v=vs.71).aspx
 Common Type System - Wikipedia, the free
encyclopedia
 http://en.wikipedia.org/wiki/Common_Type_System
 Ashu's Tricks
 http://ashujagtap333.blogspot.tw/ 33
REFERENCE
 Common Language Specification
 https://msdn.microsoft.com/en-
us//library/vstudio/12a7a7h3(v=vs.100).aspx
 Standard ECMA-335
 http://www.ecma-
international.org/publications/standards/Ecma-335.htm
 Common Language Runtime (CLR)
 https://msdn.microsoft.com/en-
us//library/8bs2ecf4(v=vs.110).aspx
 通用語言運行庫 - 維基百科,自由的百科全書
 http://zh.wikipedia.org/wiki/%E9%80%9A%E7%94%A8
%E8%AA%9E%E8%A8%80%E9%81%8B%E8%A1%8
C%E5%BA%AB 34
REFERENCE
 Common Intermediate Language - Wikipedia, the
free encyclopedia
 http://en.wikipedia.org/wiki/Common_Intermediate_Lang
uage
 Standard Libraries (CLI) - Wikipedia, the free
encyclopedia
 http://en.wikipedia.org/wiki/Standard_Libraries_(CLI)
 .NET Compilation - Part 1: Just-In-Time Compiler.
 http://geekswithblogs.net/ilich/archive/2013/07/09/.net-
compilation-part-1.-just-in-time-compiler.aspx
 Compiling MSIL to Native Code
 https://msdn.microsoft.com/en-
us/library/ht8ecch6%28v=vs.90%29.aspx 35
REFERENCE
 Explain JIT, Ngen.exe, Pre-jit, Normal-Jit and
Econo-Jit.? (.NET interview questions) - YouTube
 https://www.youtube.com/watch?v=17AtWvLMFrU
 Different Types of JIT Complier
 http://www.dotnet-
tricks.com/Tutorial/netframework/1TG6181013-
Different-Types-of-JIT-Complier.html
36
QUESTION & ANSWER
37

Contenu connexe

Tendances

Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Mohamed Saleh
 
.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligeti.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligetiNaveen Kumar Veligeti
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .netpinky singh
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework IntroductionAbhishek Sahu
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
Introduction to .NET Programming
Introduction to .NET ProgrammingIntroduction to .NET Programming
Introduction to .NET ProgrammingKarthikeyan Mkr
 
01 intro to programming in .net
01   intro to programming in .net01   intro to programming in .net
01 intro to programming in .netFelisha Hosein
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clrSanSan149
 
Components of .NET Framework
Components of .NET FrameworkComponents of .NET Framework
Components of .NET FrameworkRoshith S Pai
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 
Introduction .NET Framework
Introduction .NET FrameworkIntroduction .NET Framework
Introduction .NET Frameworkjavadib
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsQUONTRASOLUTIONS
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technologyPramod Rathore
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version Historyvoltaincx
 
.Net framework
.Net framework.Net framework
.Net frameworkArun Pal
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET FrameworkANURAG SINGH
 
ASP.NET 01 - Introduction
ASP.NET 01 - IntroductionASP.NET 01 - Introduction
ASP.NET 01 - IntroductionRandy Connolly
 

Tendances (20)

Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)
 
.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligeti.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligeti
 
1.Philosophy of .NET
1.Philosophy of .NET1.Philosophy of .NET
1.Philosophy of .NET
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
.Net framework
.Net framework.Net framework
.Net framework
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
 
DOT Net overview
DOT Net overviewDOT Net overview
DOT Net overview
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
Introduction to .NET Programming
Introduction to .NET ProgrammingIntroduction to .NET Programming
Introduction to .NET Programming
 
01 intro to programming in .net
01   intro to programming in .net01   intro to programming in .net
01 intro to programming in .net
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
 
Components of .NET Framework
Components of .NET FrameworkComponents of .NET Framework
Components of .NET Framework
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
Introduction .NET Framework
Introduction .NET FrameworkIntroduction .NET Framework
Introduction .NET Framework
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutions
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technology
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version History
 
.Net framework
.Net framework.Net framework
.Net framework
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET Framework
 
ASP.NET 01 - Introduction
ASP.NET 01 - IntroductionASP.NET 01 - Introduction
ASP.NET 01 - Introduction
 

En vedette

Introduction To Dotnet
Introduction To DotnetIntroduction To Dotnet
Introduction To DotnetSAMIR BHOGAYTA
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net FundamentalsAli Taki
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Vangos Pterneas
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework OverviewDoncho Minkov
 

En vedette (6)

Introduction To Dotnet
Introduction To DotnetIntroduction To Dotnet
Introduction To Dotnet
 
Asp.net new
Asp.net newAsp.net new
Asp.net new
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework Overview
 

Similaire à Architectural Concepts in .NET Framework

Chapter 1 introduction to .net
Chapter 1 introduction to .netChapter 1 introduction to .net
Chapter 1 introduction to .netRahul Bhoge
 
Chapter1_Part1.pptx
Chapter1_Part1.pptxChapter1_Part1.pptx
Chapter1_Part1.pptxRaajzKoirala
 
Features Of .NET Framework
Features Of .NET FrameworkFeatures Of .NET Framework
Features Of .NET FrameworkEcho Innovate IT
 
Frame class library and namespace
Frame class library and namespaceFrame class library and namespace
Frame class library and namespaceJaya Kumari
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)DrUjwala1
 
Inside .net framework
Inside .net frameworkInside .net framework
Inside .net frameworkFaisal Aziz
 
random-140312045902-phpapp01.pdf
random-140312045902-phpapp01.pdfrandom-140312045902-phpapp01.pdf
random-140312045902-phpapp01.pdfPragunSinghal1
 
election survey comapny in delhi|election survey company|election survey comp...
election survey comapny in delhi|election survey company|election survey comp...election survey comapny in delhi|election survey company|election survey comp...
election survey comapny in delhi|election survey company|election survey comp...dnnindia
 
BCA IPU VB.NET UNIT-I
BCA IPU VB.NET UNIT-IBCA IPU VB.NET UNIT-I
BCA IPU VB.NET UNIT-IVaibhavj1234
 
.Net Framwork Architecture And components
.Net Framwork Architecture And components.Net Framwork Architecture And components
.Net Framwork Architecture And componentssyedArr
 

Similaire à Architectural Concepts in .NET Framework (20)

Chapter 1 introduction to .net
Chapter 1 introduction to .netChapter 1 introduction to .net
Chapter 1 introduction to .net
 
Chapter1_Part1.pptx
Chapter1_Part1.pptxChapter1_Part1.pptx
Chapter1_Part1.pptx
 
C Sharp Jn
C Sharp JnC Sharp Jn
C Sharp Jn
 
C Sharp Jn
C Sharp JnC Sharp Jn
C Sharp Jn
 
Features Of .NET Framework
Features Of .NET FrameworkFeatures Of .NET Framework
Features Of .NET Framework
 
Frame class library and namespace
Frame class library and namespaceFrame class library and namespace
Frame class library and namespace
 
.Net slid
.Net slid.Net slid
.Net slid
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
 
.Net
.Net.Net
.Net
 
.Net framework
.Net framework.Net framework
.Net framework
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)
 
Inside .net framework
Inside .net frameworkInside .net framework
Inside .net framework
 
.Net
.Net.Net
.Net
 
random-140312045902-phpapp01.pdf
random-140312045902-phpapp01.pdfrandom-140312045902-phpapp01.pdf
random-140312045902-phpapp01.pdf
 
election survey comapny in delhi|election survey company|election survey comp...
election survey comapny in delhi|election survey company|election survey comp...election survey comapny in delhi|election survey company|election survey comp...
election survey comapny in delhi|election survey company|election survey comp...
 
Intro.net
Intro.netIntro.net
Intro.net
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
BCA IPU VB.NET UNIT-I
BCA IPU VB.NET UNIT-IBCA IPU VB.NET UNIT-I
BCA IPU VB.NET UNIT-I
 
The Philosophy of .Net
The Philosophy of .NetThe Philosophy of .Net
The Philosophy of .Net
 
.Net Framwork Architecture And components
.Net Framwork Architecture And components.Net Framwork Architecture And components
.Net Framwork Architecture And components
 

Plus de Larry Nung

Ansible - simple it automation
Ansible - simple it automationAnsible - simple it automation
Ansible - simple it automationLarry Nung
 
sonarwhal - a linting tool for the web
sonarwhal - a linting tool for the websonarwhal - a linting tool for the web
sonarwhal - a linting tool for the webLarry Nung
 
LiteDB - A .NET NoSQL Document Store in a single data file
LiteDB - A .NET NoSQL Document Store in a single data fileLiteDB - A .NET NoSQL Document Store in a single data file
LiteDB - A .NET NoSQL Document Store in a single data fileLarry Nung
 
PL/SQL & SQL CODING GUIDELINES – Part 8
PL/SQL & SQL CODING GUIDELINES – Part 8PL/SQL & SQL CODING GUIDELINES – Part 8
PL/SQL & SQL CODING GUIDELINES – Part 8Larry Nung
 
MessagePack - An efficient binary serialization format
MessagePack - An efficient binary serialization formatMessagePack - An efficient binary serialization format
MessagePack - An efficient binary serialization formatLarry Nung
 
PL/SQL & SQL CODING GUIDELINES – Part 7
PL/SQL & SQL CODING GUIDELINES – Part 7PL/SQL & SQL CODING GUIDELINES – Part 7
PL/SQL & SQL CODING GUIDELINES – Part 7Larry Nung
 
BenchmarkDotNet - Powerful .NET library for benchmarking
BenchmarkDotNet  - Powerful .NET library for benchmarkingBenchmarkDotNet  - Powerful .NET library for benchmarking
BenchmarkDotNet - Powerful .NET library for benchmarkingLarry Nung
 
PLSQL Coding Guidelines - Part 6
PLSQL Coding Guidelines - Part 6PLSQL Coding Guidelines - Part 6
PLSQL Coding Guidelines - Part 6Larry Nung
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualityLarry Nung
 
Visual studio 2017
Visual studio 2017Visual studio 2017
Visual studio 2017Larry Nung
 
Web deploy command line
Web deploy command lineWeb deploy command line
Web deploy command lineLarry Nung
 
Topshelf - An easy service hosting framework for building Windows services us...
Topshelf - An easy service hosting framework for building Windows services us...Topshelf - An easy service hosting framework for building Windows services us...
Topshelf - An easy service hosting framework for building Windows services us...Larry Nung
 
Common.logging
Common.loggingCommon.logging
Common.loggingLarry Nung
 
protobuf-net - Protocol Buffers library for idiomatic .NET
protobuf-net - Protocol Buffers library for idiomatic .NETprotobuf-net - Protocol Buffers library for idiomatic .NET
protobuf-net - Protocol Buffers library for idiomatic .NETLarry Nung
 
PL/SQL & SQL CODING GUIDELINES – Part 5
PL/SQL & SQL CODING GUIDELINES – Part 5PL/SQL & SQL CODING GUIDELINES – Part 5
PL/SQL & SQL CODING GUIDELINES – Part 5Larry Nung
 
Regular expression
Regular expressionRegular expression
Regular expressionLarry Nung
 
PL/SQL & SQL CODING GUIDELINES – Part 4
PL/SQL & SQL CODING GUIDELINES – Part 4PL/SQL & SQL CODING GUIDELINES – Part 4
PL/SQL & SQL CODING GUIDELINES – Part 4Larry Nung
 
Fx.configuration
Fx.configurationFx.configuration
Fx.configurationLarry Nung
 

Plus de Larry Nung (20)

Ansible - simple it automation
Ansible - simple it automationAnsible - simple it automation
Ansible - simple it automation
 
sonarwhal - a linting tool for the web
sonarwhal - a linting tool for the websonarwhal - a linting tool for the web
sonarwhal - a linting tool for the web
 
LiteDB - A .NET NoSQL Document Store in a single data file
LiteDB - A .NET NoSQL Document Store in a single data fileLiteDB - A .NET NoSQL Document Store in a single data file
LiteDB - A .NET NoSQL Document Store in a single data file
 
PL/SQL & SQL CODING GUIDELINES – Part 8
PL/SQL & SQL CODING GUIDELINES – Part 8PL/SQL & SQL CODING GUIDELINES – Part 8
PL/SQL & SQL CODING GUIDELINES – Part 8
 
MessagePack - An efficient binary serialization format
MessagePack - An efficient binary serialization formatMessagePack - An efficient binary serialization format
MessagePack - An efficient binary serialization format
 
PL/SQL & SQL CODING GUIDELINES – Part 7
PL/SQL & SQL CODING GUIDELINES – Part 7PL/SQL & SQL CODING GUIDELINES – Part 7
PL/SQL & SQL CODING GUIDELINES – Part 7
 
BenchmarkDotNet - Powerful .NET library for benchmarking
BenchmarkDotNet  - Powerful .NET library for benchmarkingBenchmarkDotNet  - Powerful .NET library for benchmarking
BenchmarkDotNet - Powerful .NET library for benchmarking
 
PLSQL Coding Guidelines - Part 6
PLSQL Coding Guidelines - Part 6PLSQL Coding Guidelines - Part 6
PLSQL Coding Guidelines - Part 6
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code Quality
 
Visual studio 2017
Visual studio 2017Visual studio 2017
Visual studio 2017
 
Web deploy command line
Web deploy command lineWeb deploy command line
Web deploy command line
 
Web deploy
Web deployWeb deploy
Web deploy
 
SikuliX
SikuliXSikuliX
SikuliX
 
Topshelf - An easy service hosting framework for building Windows services us...
Topshelf - An easy service hosting framework for building Windows services us...Topshelf - An easy service hosting framework for building Windows services us...
Topshelf - An easy service hosting framework for building Windows services us...
 
Common.logging
Common.loggingCommon.logging
Common.logging
 
protobuf-net - Protocol Buffers library for idiomatic .NET
protobuf-net - Protocol Buffers library for idiomatic .NETprotobuf-net - Protocol Buffers library for idiomatic .NET
protobuf-net - Protocol Buffers library for idiomatic .NET
 
PL/SQL & SQL CODING GUIDELINES – Part 5
PL/SQL & SQL CODING GUIDELINES – Part 5PL/SQL & SQL CODING GUIDELINES – Part 5
PL/SQL & SQL CODING GUIDELINES – Part 5
 
Regular expression
Regular expressionRegular expression
Regular expression
 
PL/SQL & SQL CODING GUIDELINES – Part 4
PL/SQL & SQL CODING GUIDELINES – Part 4PL/SQL & SQL CODING GUIDELINES – Part 4
PL/SQL & SQL CODING GUIDELINES – Part 4
 
Fx.configuration
Fx.configurationFx.configuration
Fx.configuration
 

Dernier

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Dernier (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Architectural Concepts in .NET Framework

  • 2. AGENDA Overview Common Language Infrastructure (CLI) Common Language Runtime (CLR) Just In Time Compiler (JIT) Common Intermediate Language (CIL) Base Class Library (BCL) Framework Class Library (FCL) Common Type System (CTS) Common Language Specification (CLS) Reference Q & A 2
  • 6. COMMON LANGUAGE INFRASTRUCTURE (CLI)  An open specification describes the executable code and runtime environment. 6
  • 8. COMMON LANGUAGE RUNTIME (CLR)  The .NET Framework provides a run-time environment called the common language runtime, which runs the code and provides services that make the development process easier. 8
  • 10. COMMON LANGUAGE RUNTIME (CLR)  Performance improvements.  The ability to easily use components developed in other languages.  Extensible types provided by a class library.  Language features such as inheritance, interfaces, and overloading for object-oriented programming.  Support for explicit free threading that allows creation of multithreaded, scalable applications.  Support for structured exception handling.  Support for custom attributes.  Garbage collection.  Use of delegates instead of function pointers for increased type safety and security. For more information about delegates, see Common Type System. 10
  • 12. JUST IN TIME COMPILER (JIT) 12
  • 13. JUST IN TIME COMPILER (JIT)  JIT compilation converts MSIL to native code on demand at application run time, when the contents of an assembly are loaded and executed. 13
  • 14. JUST IN TIME COMPILER (JIT)  Normal-JIT Compiler  Compile methods in runtime as needed. 14
  • 15. JUST IN TIME COMPILER (JIT)  Econo-JIT  A runtime compiler which hadn’t done any optimization and removed methods’ machine code when it is not required. 15
  • 16.  Pre-JIT Compiler  Compile the entire assembly before it has been used. 16
  • 18. COMMON INTERMEDIATE LANGUAGE (CIL)  Microsoft intermediate language (MSIL)  Lowest-level human-readable programming language defined by the Common Language Infrastructure (CLI) specification 18
  • 19. BASE CLASS LIBRARY (BCL) 19
  • 20. BASE CLASS LIBRARY (BCL)  The Base Class Library (BCL) is the core set of classes that serve as the basic API of the Common Language Runtime. The classes in mscorlib.dll and some of the classes in System.dll and System.core.dll are considered to be a part of the BCL. It includes the classes in namespaces like System , System.Diagnostics , System.Globalization, System.Resources , System.Text , System.Runtime.Serialization and System.Data etc. 20
  • 21. BASE CLASS LIBRARY (BCL) 21
  • 23. FRAMEWORK CLASS LIBRARY (FCL)  The Framework Class Library (FCL) is a superset of the BCL classes and refers to the entire class library that ships with .NET Framework. It includes an expanded set of libraries, including Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation among others. 23
  • 25. COMMON TYPE SYSTEM (CTS) 25
  • 26. COMMON TYPE SYSTEM (CTS)  Define how types are declared, used, and managed in the common language runtime. 26
  • 27. COMMON TYPE SYSTEM (CTS)  Establishes a framework that helps enable cross- language integration, type safety, and high- performance code execution.  Provides an object-oriented model that supports the complete implementation of many programming languages.  Defines rules that languages must follow, which helps ensure that objects written in different languages can interact with each other.  Provides a library that contains the primitive data types (such as Boolean, Byte, Char, Int32, and UInt64) used in application development. 27
  • 28. COMMON TYPE SYSTEM (CTS)  Value types are data types whose objects are represented by the object's actual value. If an instance of a value type is assigned to a variable, that variable is given a fresh copy of the value.  Reference types are data types whose objects are represented by a reference (similar to a pointer) to the object's actual value. If a reference type is assigned to a variable, that variable references (points to) the original value. No copy is made. 28
  • 29. COMMON TYPE SYSTEM (CTS) 29
  • 31. COMMON LANGUAGE SPECIFICATION (CLS)  This is a subset of the CTS, which all .NET languages are expected to support. 31
  • 33. REFERENCE  Common Language Infrastructure - Wikipedia, the free encyclopedia  http://en.wikipedia.org/wiki/Common_Language_Infrastr ucture  Common Type System  https://msdn.microsoft.com/en- us/library/zcx1eb1e(v=vs.71).aspx  Common Type System - Wikipedia, the free encyclopedia  http://en.wikipedia.org/wiki/Common_Type_System  Ashu's Tricks  http://ashujagtap333.blogspot.tw/ 33
  • 34. REFERENCE  Common Language Specification  https://msdn.microsoft.com/en- us//library/vstudio/12a7a7h3(v=vs.100).aspx  Standard ECMA-335  http://www.ecma- international.org/publications/standards/Ecma-335.htm  Common Language Runtime (CLR)  https://msdn.microsoft.com/en- us//library/8bs2ecf4(v=vs.110).aspx  通用語言運行庫 - 維基百科,自由的百科全書  http://zh.wikipedia.org/wiki/%E9%80%9A%E7%94%A8 %E8%AA%9E%E8%A8%80%E9%81%8B%E8%A1%8 C%E5%BA%AB 34
  • 35. REFERENCE  Common Intermediate Language - Wikipedia, the free encyclopedia  http://en.wikipedia.org/wiki/Common_Intermediate_Lang uage  Standard Libraries (CLI) - Wikipedia, the free encyclopedia  http://en.wikipedia.org/wiki/Standard_Libraries_(CLI)  .NET Compilation - Part 1: Just-In-Time Compiler.  http://geekswithblogs.net/ilich/archive/2013/07/09/.net- compilation-part-1.-just-in-time-compiler.aspx  Compiling MSIL to Native Code  https://msdn.microsoft.com/en- us/library/ht8ecch6%28v=vs.90%29.aspx 35
  • 36. REFERENCE  Explain JIT, Ngen.exe, Pre-jit, Normal-Jit and Econo-Jit.? (.NET interview questions) - YouTube  https://www.youtube.com/watch?v=17AtWvLMFrU  Different Types of JIT Complier  http://www.dotnet- tricks.com/Tutorial/netframework/1TG6181013- Different-Types-of-JIT-Complier.html 36