Microsoft bắt đầu phát triển .NET Framework vào cuối năm 1990 có tên mã (code name) là Lightning hoặc Project 42 và cái tên ban đầu (Preliminary name) là Next Generation Windows Services (NGWS). Đến cuối năm 2000 phiên bản thử nghiệm Beta  được phát hành với tên MS .NET Framework 1.0.

.NET không phải là viết tắt của cụm từ nào cả mà nó được đặt từ nhiều ý tưởng lúc bấy giờ. Ngay cả Microsoft cũng không đưa ra cụ thể chính xác đó có nghĩa là gì.
Nếu quan tâm bạn có thể đọc thêm  tại các liên kết sau:
.NET Framework bao gồm 2 thành phần chính:
  • The Common Language Runtime (CLR)
  • The Base Class Libraries

Ảnh dưới mô tả mối quan hệ giữa thư viện lớp cơ sở và CLR

1. Các Phiên Bản .NET Framework

Phiên bản .NET Framework hiện tại là 4.5.2 phát hành vào ngày 05/05/2014. Để tìm hiểu rõ hơn lịch sử các phiên bản .NET bạn có thể xem liên kết bên dưới.
Wiki | MSDN

Cần phải cài đặt .NET Framework để chạy các ứng dụng .NET trên máy Client. Đối với Windows 8 đã được cài sẵn .NET Framework 4.5 và Windows 8.1 là .NET Framework 4.5.1

2. Các Khái Niệm Cơ Bản

a) MSIL - IL - CIL

Ba kiểu viết tắt này đều nói về một khái niệm
  • MSIL: Microsoft Intermediate Language
  • IL: Intermediate Language
  • CIL: Common Intermediate Language
Các Project .NET không trực tiếp biên dịch trực tiếp về mã nhị phân mà được chuyển đổi sang một ngôn ngữ trung gian cấp thấp gọi là MSIL (hay còn được gọi là CIL).

Mã CIL có dạng như sau. Để xem mã này trên Visual Studio bạn có thể dùng.NET Reflector (fee) hoặc các công cụ tương tự khác.
.method public hidebysig instance int32 Add(int32 x,
int32 y) cil managed
{
// Code size 9 (0x9)
.maxstack 2
.locals init (int32 V_0)
IL_0000: nop
IL_0001: ldarg.1
IL_0002: ldarg.2
IL_0003: add
IL_0004: stloc.0
IL_0005: br.s IL_0007
IL_0007: ldloc.0
IL_0008: ret
} // end of method Calc::Add
Tham khảo thêm: Understanding Common Intermediate Language (CIL)

b) .NET Assemblies



Sau khi Project .NET được biên dịch, cho dù bạn dùng ngôn ngữ nào thì ngôn ngữ đó đều được đưa về ngôn ngữ CIL. CIL nằm trong khối Assembly, khối này bao gồm các thành phần sau:

  • A Windows file header
  • A CLR file header
  • CIL code
  • Type metadata
  • An assembly manifest
  • Optional embedded resources
Khái niệm thì phức tạp, để đơn giản có thể hiểu một ứng dụng .NET có thể có nhiều assembly và assembly có thể là  *.DLL hoặc *.EXE. Assembly có hai kiểu:

  • Private Assembly: DLL và EXE  chỉ được thực thi bởi một ứng dụng
  • Public/Shared Assembly: DLL có thể được sử dụng bởi nhiều ứng dụng cùng lúc. Loại này thường được lưu trữ tại "C:\Windows\Assembly"
  • Satellite Assembly: Chứa các đối tượng tĩnh và không thể thực thi  ví dụ như ảnh.

c) CLR - The Common Language Runtime

CLR cung cấp môi trường Run-Time, bạn có thể hiểu đó là một môi trường cung cấp các dịch vụ có sẵn để giúp chương trình .NET chạy được và dễ dàng. Nói một cách khác nó biên dịch assembly thành mã máy
Hai tính năng quan trọng của CLR là:
  • Managed Execution Process
  • Automatic Memory Management
Chi tiết tham khảo tại MSDN

Ảnh quá trình nạp assembly vào CLR

d) CLS - The Common Language Specification

CLS đưa ra các quy tắc mà dựa vào đó các ngôn ngữ hướng .NET cần tuân theo để đảm bảo thực thi chéo. Nó giúp các ngôn ngữ khác nhau có thể dễ dàng tích hợp các tính năng của nhau

e) CST - The Common Type System

CST xác định các thư viện và chương trình được tổ chức và cách tương tác giữa các thành phần có thể thực hiện. Nói cách khác nó hỗ trợ thực thi chéo các ngôn ngữ, định nghĩa sẵn các kiểu dữ liệu  và giá trị có trong MSIL. Các ngôn ngữ trong .NET sẽ được biên dịch thành IL dựa trên kiểu dữ liệu này

Một số kiểu dữ liệu CTS cơ bản

CLS-Compliant Primitive Types
Type C# VB C++/CLI F#
System.Byte byte Byte unsigned char byte
System.Int16 short Short short int16
System.Int32 int Integer int/long int/int32
System.Int64 long Long __int64 int64
System.Single float Single Float single/float32
System.Double double Double Double double/float
System.Boolean bool Boolean Bool bool
System.Char char Char wchar_t char
System.Decimal decimal Decimal Decimal decimal
System.String string String String^ string

CLS và CTS đảm bảo cho các ngôn ngữ khác nhau hiểu và tận dụng các tính năng của nhau tối ưu nhất trong .NET. Trong .NET hỗ trợ rất nhiều cả các ngôn ngữ phổ biến hiện nay

f) JIT - Just-In-Time

CLR chuyển mã IL thành mã máy (Native Code) trong lúc runtime. Quá trình này được gọi là JIT Compiling

g) BCL - The Base Class Library

Bộ thư viện chức năng có sẵn cho tất cả ngôn ngữ trong .NET. Nó có thể tái sử dụng và được tích hợp với CLR

3. Cấu Trúc Tổng Quan .NET Framework

.NET Framework là một công nghệ hỗ trợ và xây dựng các ứng dụng và dịch vụ web. Tất cả chương trình .NET đều thực hiện dưới sự giám sát của CLR. CLR tích hợp sẵn các chức năng để giúp chương trình hoạt động tốt hơn. Nhờ vào đó việc coding trở nên đỡ phức tạp hơn vì bạn không cần phải quá quan tâm về bảo mật cơ sở, giải phóng bộ nhơ chương trình ...
Thực sự, nó là một công nghệ phức tạp để hiểu rõ được nó bạn phải mất kha khá thời gian.

Một số tài nguyên để bạn tự có cái nhìn tổng quát về nó

.NET Framework 4.5 - Poster
Author

.NET Framework 4.0
Author Shared

.NET Framework 3.5

.NET Framework 3.0

.NET Framework 2.0

Xem Thêm WPF Object Model


Tải Full Poster


13/08/2014

thumbnail Tìm Hiểu Khái Quát .NET Framework

data:label.name author

premiumpng.com

Design Publisher

Download 0
No comments
Template in .PSD format

MR Laboratory License

Free for personal purpose use . More info


Buy Now This Template

No comments:

Post a Comment

Commets Download Photoshop Actions, Lightroom Presets, PSD Template, Mockups, Stocks, Vectors, Fonts. Download free

Newer Post Older Post Home

Copyright © 2021 MR Laboratory All rights reserved.

Setting