.NET Framework Design Goals - PowerPoint PPT Presentation

About This Presentation
Title:

.NET Framework Design Goals

Description:

Web Forms Web Services. Mobile Internet Toolkit. Windows. Forms. Common Language ... DEV334: Introduction to Web Forms. Learn about client development with .NET ... – PowerPoint PPT presentation

Number of Views:138
Avg rating:3.0/5.0
Slides: 32
Provided by: dotnet1
Category:

less

Transcript and Presenter's Notes

Title: .NET Framework Design Goals


1
.NET Framework Design Goals
  • Dramatically simplifies development and
    deployment
  • Unifies programming models
  • Provides robust and secure execution environment
  • Supports multiple programming languages

2
Framework, Languages, And Tools
3
demo
One Lap Around .NET
4
Demo One Lap Around .NET
  • Create a simple Web Service
  • Test it in Internet Explorer
  • Add data logic to it
  • Build a smart client for it
  • Show seamless and safe deployment of the smart
    client

5
Framework, Languages, And Tools
Visual Studio.NET
Common Language Specification
ADO.NET and XML
Base Class Library
Common Language Runtime
Operating System
6
The .NET Evolution
Application
Code and data structures
Before COM, applications were completely separate
entities with little or no integration
7
The .NET Evolution
COM provides a way for components to integrate
However, each component must provide the
plumbing and objects cannot directly interact
8
The .NET Evolution
With the .NET Framework common language runtime,
components are built on a common substrate No
plumbing is needed and objects can directly
interact
9
Compilation And Execution
Compilation
Code (IL)
Source Code
Metadata
At installation or the first time each method is
called
10
Simplify Development
  • Completely eliminates COM plumbing
  • No more
  • Registration
  • GUIDs
  • .IDL files
  • HRESULTs
  • IUnknown
  • AddRef/Release
  • CoCreateInstance

gtself described apps
gthierarchical namespaces
gtunified object model
gtstructured exceptions
gtcommon root object
gtgarbage collector
gtnew operator
11
Simplify Development
  • Common Type System
  • Common instance and type definition
  • Enables clean OO programming
  • Classes and interfaces
  • Constructors, properties, methods, events
  • Cross language inheritance
  • Built-in interoperability
  • With COM
  • With native (Win32 style) DLLs

12
Everything Is An Object
  • Traditional views of primitive types
  • C, Java Theyre magic
  • Smalltalk, Lisp Theyre full-blown objects
  • .NET Framework solution Value types
  • unifies with no performance cost
  • Deep simplicity throughout system
  • Improved extensibility and reusability
  • New primitive types Decimal, SQL
  • Collections, etc., work for all types

13
Everything Is An Object
  • Boxing
  • Allocates box, copies value into it
  • Unboxing
  • Checks type of box, copies value out

int i 123 object o i int j (int)o
Dim i As Integer 123 Dim o As Object i Dim j
As Integer CInt(o)
14
Robust Environment
  • Automatic lifetime management
  • All objects are garbage collected
  • Exception handling
  • Error handling first class and mandatory
  • Type-safety
  • No buffer overruns, No unsafe casts,
    Uninitialized variables

15
Secure Environment
  • Security designed-in
  • Code access security enforcement
  • Security based on the identity of code
  • Administratively configurable via policy
  • ASP.NET integrated authentication of user
  • Windows identity, Passport, forms-based,
  • Cryptography library with XML DSIG support
  • Digital signature for XML (www.w3.org/signature)

16
Simplify Deployment And Management
  • Zero-impact install
  • Applications and components can be shared or
    private
  • Side-by-side execution
  • Multiple versions of the same component can
    co-exist on a system
  • Assemblies
  • Contain dependency information

17
Framework, Languages, And Tools
Visual Studio.NET
Common Language Specification
ADO.NET and XML
Base Class Library
Common Language Runtime
Operating System
18
Unify Programming Models
19
How Much Simpler?
Windows API
HWND hwndMain CreateWindowEx( 0,
"MainWClass", "Main Window",
WS_OVERLAPPEDWINDOW WS_HSCROLL WS_VSCROLL,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL,
hInstance, NULL) ShowWindow(hwndMain,
SW_SHOWDEFAULT) UpdateWindow(hwndMain)
20
Factored And Extensible
  • The Framework is not a black box
  • Any .NET class is available for you to extend
    through inheritance
  • Gives developers much more head room
  • Plug and Play components and subsystems

21
The .NET Framework Library
ADO.NET and XML
Base Class Library
22
The .NET Framework Library
23
Base Framework
System
Security
Collections
ServiceProcess
Configuration
Text
Diagnostics
Threading
Globalization
IO
Runtime
InteropServices
Net
Remoting
Reflection
Serialization
Resources
24
Data And XML
System.Data
SQLClient
OleDb
SQLTypes
Common
System.Xml
Serialization
XSLT
XPath
25
ASP.NET
System.Web
Services
UI
HtmlControls
Description
WebControls
Discovery
Protocols
Caching
Security
Configuration
SessionState
26
Windows Forms
System.Windows.Forms
Design
ComponentModel
System.Drawing
Drawing2D
Printing
Imaging
Text
27
Framework, Languages, And Tools
Visual Studio.NET
Common Language Specification
ADO.NET and XML
Base Class Library
Common Language Runtime
Operating System
28
Languages
  • The .NET Platform is language neutral
  • All .NET languages are first class players
  • You can leverage your existing skills
  • Common language specification
  • Set of features guaranteed to be in all languages
  • We are providing
  • Visual Basic, C, C, J, JScript
  • Third-parties are building
  • APL, COBOL, Delphi, Pascal, Eiffel, Haskell, ML,
    Oberon, Perl, Python, Scheme, Smalltalk

29
Standardization
  • A subset of the .NET Framework and C submitted
    to ECMA
  • Adopted as International standards in Dec. 2001
  • In the ISO fast-track process now
  • Co-sponsored with Intel, Hewlett-Packard
  • Common language infrastructure
  • Based on common language runtime and base
    framework
  • Layered into increasing levels of functionality

30
Additional Resources
  • Learn about Web development with .NET
  • DEV334 Introduction to Web Forms
  • Learn about client development with .NET
  • DEV350 Building Smart Client Applications
  • Learn about Network class libraries
  • DEV342 The .NET Framework Net Class Libraries
  • Get the Deep Technical Drill Down
  • DEV366 .NET Framework Under the Hood
  • Learn how to Architect an application
  • DEV310 Architecting Enterprise Applications
    with Visual Studio .NET
  • DEV358 Architecting N-Tier .NET Applications
  • DEV402 Design Choices for Implementing
    Distributed Applications in .NET

31
Summary
  • The .NET Framework
  • Dramatically simplifies development and
    deployment
  • Unifies programming models
  • Provides robust and secure execution environment
  • Supports multiple programming languages
Write a Comment
User Comments (0)
About PowerShow.com