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