Ý 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 ứ
Trang 1Tổng quan Net Framework
Trần Anh Tuấn A www.math.hcmuns.edu.vn\~tatuana
Trang 2Ý 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
Trang 3Bộ 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
Trang 4Bộ Khung Net Framework
Trang 5Common 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
Trang 6Common Language Runtime (CLR)
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
Trang 7Common Language Runtime (CLR)
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ẽ :
thành mã máy (native code)
đệm cho các thao tác tương tự
Trang 8Common 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
Trang 9Gabage Collector (GC)
C++ có gặp nhiều TH về lỗi thiếu bộ nhớ vậy Net Framework xứ lý ntn ?
Bộ Thu Gom Rác
qua các nút (root) của ứng dụng
giải phóng nếu không còn sử dụng
Trang 10Framework 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
Trang 11Framework 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…
Trang 12Visual Studio Net 2005
Trang 13Visual 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
Trang 14Bài sau
bản về tạo một solution , project
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ở )
Trang 15HẾT BÀI 1