Transcript Slide 1

Tổng quan .Net Framework
Trần Anh Tuấn A
www.math.hcmuns.edu.vn\~tatuana
Ý nghĩa .Net
 PCs
 Networking
 Intranet
 Internet và Web
 Thách thức mới cho các mô hình sử dụng
phần mềm
 Tính toán trên desktop  Tính toán và truyền
tải dữ liệu phân tán
 Tạo ứng dụng độc lập với HDH và có khả năng
hoạt động tương tác với nhau
 .NET
Bộ Khung .Net Framework
 Nằm ở tầng trên của HDH
 Hai thành phần chính :
 Môi trường thực thi ngôn ngữ chung ( Common
Language Runtime – CLR )
 Thư viện các lớp (Framework Class Library - FCL)
 Bốn ngôn ngữ chính thức C# , VB.Net , C++ và
Jscript.Net
 Ngoài ra .Net Framework còn hỗ trợ :
 Tích hợp ngôn ngữ ( kế thừa các lớp , bắt các biệt lệ ,
đa hình , kiểu giá trị , … )  Đặc tả CTS – Common
Type System
 Đặc tả ngôn ngữ chung CLS – Common Language
Specification cung cấp những quy tắc cơ bản mà ngôn
ngữ muốn tích hợp phải thoả mãn
Bộ Khung .Net Framework
Common Language Runtime (CLR)
 Runtime là một agent quản lý mã nguồn
khi nó được thực thi
 Runtime cung cấp các dịch vụ : quản lý bộ
nhớ , quản lý tiểu trình , quản lý từ xa
 Runtime đảm bảo việc thực hiện được bảo
mật và mạnh mẽ
 Mã nguồn mà đích tới là runtime (managed
code) , ngược lại (unmanaged code)
 CLR cung cấp môi trường thực thi
chung cho các ngôn ngữ trên nền .NET
Common Language Runtime (CLR)
 Bằng cách nào ?
 1. Khi biên dịch một ứng dụng .Net
 2. Môi trường phát triển dịch mà nguồn
thành mã tự quản (managed code) dưới
dạng ngôn ngữ trung gian MSIL (hay IL)
(Microsoft Intermediate Language)
 3. Trình biên dịch phát sinh siêu dữ kiện
megadata (thành viên đối tượng , kiểu ,
tham chiếu ,….)
 MSIL và megadata  EXE file
Common Language Runtime (CLR)
 Khi thực thi mã ứng dụng (EXE file)
 1. Tuỳ thuộc vào chỉ thị người dùng
 2. Trình biên dịch tức thời JIT ( Just In
Time ) của CLR cung cấp sẽ :
 Chuyển đổi mã quản lý (managed code)
thành mã máy (native code)
 JIT cất giữ mã máy phát sinh vào bộ nhớ
đệm cho các thao tác tương tự
Common Type System (CTS)
 Mã viết bằng VB sau khi biên dịch có thể
gọi mã viết bằng ngôn ngữ khác không ?
Trả lời : Có (nhờ vào Hệ thống kiểu thông
dụng CTS)
 CTS định nghĩa tập các kiểu dữ liệu chuẩn
và các quy tắc tạo ra kiểu dữ liệu
 Có hai kiểu chính :
 Kiểu giá trị : integer , userdefined ,enum
 Kiểu tham chiếu : class , array , contrỏ ,
interface
Gabage Collector (GC)
 Tôi đã làm việc trên C++ hay Visual
C++ có gặp nhiều TH về lỗi thiếu bộ
nhớ vậy .Net Framework xứ lý ntn ?
 CLR của .Net FrameWork có cung cấp
Bộ Thu Gom Rác
 GC quản lý bô nhớ tự động
 GC luôn theo dõi vùng nhớ được tạo
qua các nút (root) của ứng dụng 
giải phóng nếu không còn sử dụng
Framework Class Library - FCL
 Là một phần trong bộ khung .Net
 Đóng gói những lớp Hướng Đối Tượng được
cung cấp
 Giúp bạn dễ dàng tạo các ứng dụng trên nền
Window , trên nền Web
Framework Class Library - FCL
 Thư viện lớp của .Net Framework được tổ
chức theo cấu trúc cây dựa trên khái niệm
namespace (cấu trúc cây)
 Có thể có nhiều lớp trùng tên nhau nhưng
buộc phải nằm ở các namespace khác nhau
 Namespace : Microsoft.Csharp ,
Microsoft.VisualBasic , Microsoft.Win32
,System
 Class: System.Array , System.Console ,
System.String , System.Math v.v…
Visual Studio . Net 2005
Visual Studio . Net 2005
 Được thiết kế dựa trên .Net Framework
 Cho phép triển khai :
 Ứng dụng trên nhiều ngôn ngữ Visual Basic ,
Visual C++ , Visual C# , FoxPro
 Ứng dung Web và Web services
 Ứng dụng di động
 Ưu điểm :
 Tất cả các ngôn ngữ đều dùng chung một Môi
Trường Phát Triển Tích Hợp (IDE)
 Lập trình ASP.Net : Truy cập CSDL hiệu quả ,
viết ứng dụng dễ dàng hơn
Bài sau
 Giới thiệu C# và những khái niệm cơ
bản về tạo một solution , project
 Hướng đối tượng trong C#
 Chủ đề nâng cao trong C#(Xử lí lỗi và
biệt lệ, ép kiểu do người dùng định nghĩa,
event, delegates, các Attribute, các chỉ thị tiền
xử lí trong C#, quản lí bộ nhớ, mã không an
toàn, C# và các lớp cơ sở )
HẾT BÀI 1