Раздел «Технологии программирования».DotNetArchitectureModule:

Архитектура платформы Microsoft .NET


Summary

В этом модуле-презентации очерчены основные понятия связанные с .NET Framework. Описаны основные архитектурные принципы, лежащие в основе .NET. Проведены параллели между коммерческой реализацией .NET и соответствующими стандартами (среда выполнеиня и язык выполнения). Продемонстрирован язык MSIL и ocoбенности работы со сборками, как основными строительными блоками приложения.

Start Presentation

Slide 1: Welcome


Архитектура платформы Microsoft .NET

Андрей Устюжанин

Москва, 24 Марта 2004

Slide 2: Терминология

Comments

Mono
The Mono project is an open source effort sponsored by Novell to create a free implementation of the .NET Development Framework (http://www.go-mono.org/)

.NET Initiative
.NET Initiative is a complex Microsoft program including marketing, development and standartization effors towards promotion of Microsoft .NET Framework and set of products related to it

Shared Source CLI
The Shared Source CLI is a compressed archive of the source code to a working implementation of the ECMA CLI and the ECMA C# language specification. It includes source code for the Common Language Infrastructure (CLI) execution engine and frameworks, as well as compilers and other developer tools.

Rotor
Rotor is a code name of MS project of Shared Source CLI development (see Shared Source CLI). Currently MS Windows, FreeBSD? and MAC OS X are supported

ECMA
Ecma International is an industry association founded in 1961 and dedicated to the standardization of Information and Communication Technology (ICT) Systems. Orignially stood for "European Computer Manufacturers' Association". In 1994 the name was change to simply Ecma and "international" because of natural growth. http://www.ecma-international.org

Slide 3: Контекст Microsoft .NET

NetFrameworkContext.gif

Slide 4: Обзор характеристик .NET Framework

Достоинства платформы .NET:

Slide 5: Обзор характеристик .NET Framework

Достоинства платформы .NET (продолжение):

Недостатки платформы .NET:

Slide 6: Коммерческая платформа Microsoft .NET

MSNETFramework.gif

Slide 7: Стандарт CLI

CLIStandard.gif

Slide 8: Shared Source CLI (Rotor)

Rotor.gif

Slide 9: Обзор .NET Framework Namespaces

NetFrameworkNamespaces.gif

Slide 10: Общая архитектура .NET Framework

SystemArchitecture.gif

Slide 11: Virtual Execution System

VES.gif

Slide 12: Архитектура GUI подсистемы .NET Framework

GUIArchitecture.gif

Slide 13: Архитектура сетевой подсистемы .NET Framework

BasicNetworkingArchitecture.gif

Slide 14: Первый взгляд на MSIL

using System;

public class HelloWorld
{
  public void SayHello () {
    Console.WriteLine("Hello World, from C#");
  }

  public static int Main(string[] args) {
    int retCode = 1;
    HelloWorld hw = new HelloWorld();
   
    hw.SayHello();
    return retCode;
  }
};

Slide 15: Первый взгляд на MSIL

//  Microsoft (R) .NET Framework IL Disassembler.  Version 1.0.2204.21
//  Copyright (C) Microsoft Corp. 1998-2000

.class public auto ansi HelloWorld
       extends [mscorlib]System.Object
{

  .method public hidebysig static int32  Main(class System.String[] args) il managed
  {
    .entrypoint
    // Code size       20 (0x14)
    .maxstack  1
    .locals (int32 V_0,
             class HelloWorld V_1,
             int32 V_2)
    IL_0000:  ldc.i4.1
    IL_0001:  stloc.0
    IL_0002:  newobj     instance void HelloWorld::.ctor()
    IL_0007:  stloc.1
    IL_0008:  ldloc.1
    IL_0009:  call       instance void HelloWorld::SayHello()
    IL_000e:  ldloc.0
    IL_000f:  stloc.2
    IL_0010:  br.s       IL_0012

    IL_0012:  ldloc.2
    IL_0013:  ret
  } // end of method HelloWorld::Main

} // end of class HelloWorld

Slide 16: .NET Assemblies

Slide 17: Метаданные сборок

Slide 18: Common Type System

CommonTypeSystem.gif

Slide 19: Boxing/Unboxing

-- AndreyUstyuzhanin - 04 Mar 2004