Bài giảng Tổng quan .Net Framework do Trần Anh Tuấn A biên soạn cung cấp cho các bạn những kiến thức về ý nghĩa .Net; bộ khung .Net Framework; Common Language Runtime (CLR); Common Type System (CTS); Gabage Collector (GC); Framework Class Library - FCL và một số kiến thức khác.
Tổng quan Net Framework Trần Anh Tuấn A Ý nghĩa Net PCs Networking Intranet Internet Web Thách thức cho mơ hình sử dụng phần mềm Tính tốn desktop Tính toán truyền tải liệu phân tán Tạo ứng dụng độc lập với HDH có khả hoạt động tương tác với NET Bộ Khung Net Framework Nằm tầng HDH Hai thành phần : Mơi trường thực thi ngôn ngữ chung ( Common Language Runtime – CLR ) Thư viện lớp (Framework Class Library - FCL) Bốn ngơn ngữ thức C# , VB.Net , C++ Jscript.Net Ngồi Net Framework cịn hỗ trợ : Tích hợp ngơn ngữ ( kế thừa lớp , bắt 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 quy tắc mà ngơn ngữ muốn tích hợp phải thoả mãn Bộ Khung Net Framework Common Language Runtime (CLR) Runtime agent quản lý mã nguồn thực thi Runtime cung cấp dịch vụ : quản lý nhớ , quản lý tiểu trình , quản lý từ xa Runtime đảm bảo việc thực bảo mật mạnh mẽ Mã nguồn mà đích tới runtime (managed code) , ngược lại (unmanaged code) CLR cung cấp môi trường thực thi chung cho ngôn ngữ NET Common Language Runtime (CLR) Bằng cách ? Khi biên dịch ứng dụng Net Môi trường phát triển dịch mà nguồn thành mã tự quản (managed code) dạng ngôn ngữ trung gian MSIL (hay IL) (Microsoft Intermediate Language) Trình biên dịch phát sinh siêu kiện megadata (thành viên đối tượng , kiểu , tham chiếu ,….) MSIL megadata EXE file Common Language Runtime (CLR) Khi thực thi mã ứng dụng (EXE file) Tuỳ thuộc vào thị người dùng Trình biên dịch tức thời JIT ( Just In Time ) CLR cung cấp : 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 nhớ đệm cho thao tác tương tự Common Type System (CTS) Mã viết VB sau biên dịch gọi mã viết 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 kiểu liệu chuẩn quy tắc tạo kiểu liệu Có hai kiểu : 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 C++ hay Visual C++ có gặp nhiều TH lỗi thiếu nhớ Net Framework xứ lý ntn ? CLR Net FrameWork có cung cấp Bộ Thu Gom Rác GC quản lý bô nhớ tự động GC theo dõi vùng nhớ tạo qua nút (root) ứng dụng giải phóng khơng cịn sử dụng Framework Class Library - FCL Là phần khung Net Đóng gói lớp Hướng Đối Tượng cung cấp Giúp bạn dễ dàng tạo ứng dụng Window , Web Framework Class Library - FCL Thư viện lớp Net Framework tổ chức theo cấu trúc dựa khái niệm namespace (cấu trúc cây) Có thể có nhiều lớp trùng tên buộc phải nằm namespace khác 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 Net Framework Cho phép triển khai : Ứng dụng nhiều ngôn ngữ Visual Basic , Visual C++ , Visual C# , FoxPro Ứng dung Web Web services Ứng dụng di động Ưu điểm : Tất ngôn ngữ dùng chung 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 , viết ứng dụng dễ dàng Bài sau Giới thiệu C# khái niệm tạo solution , project Hướng đối tượng C# Chủ đề nâng cao C#(Xử lí lỗi biệt lệ, ép kiểu người dùng định nghĩa, event, delegates, Attribute, thị tiền xử lí C#, quản lí nhớ, mã khơng an tồn, C# lớp sở ) HẾT BÀI ... (managed code) dạng ngôn ngữ trung gian MSIL (hay IL) (Microsoft Intermediate Language) Trình biên dịch phát sinh siêu kiện megadata (thành viên đối tượng , kiểu , tham chiếu ,….) MSIL megadata... trúc d? ?a khái niệm namespace (cấu trúc cây) Có thể có nhiều lớp trùng tên buộc phải nằm namespace khác Namespace : Microsoft.Csharp , Microsoft.VisualBasic , Microsoft.Win32 ,System Class:... dụng Framework Class Library - FCL Là phần khung Net Đóng gói lớp Hướng Đối Tượng cung cấp Giúp bạn dễ dàng tạo ứng dụng Window , Web Framework Class Library - FCL Thư viện lớp Net Framework