NGÔN NGỮ C# VỚI KIẾN TRÚC NET 10/08/2007 08:17 AM Tôi muốn nhấn mạnh đừng xem xét ngơn ngữ C# cách tách biệt, ln đồng hành với "Bộ khung NET" C# trình biên dịch hướng NET, nghĩa tất mã C# luôn chạy trên môi trường NET Framework Điều dẫn đến hệ sau: * Cấu trúc lập luận C# phản ánh phương pháp luận NET ngầm bên * Trong nhiều trường hợp, đặc trưng C# chí định dựa vào đặc trưng NET, thư viện lớp sở NET Chính tầm quan trọng NET, nên bạn cần phải biết sơ qua NET trước vào ngôn ngữ C# Đây mục đích chương Chúng ta tìm hiểu xem chuyện xảy mã ngôn ngữ hướng NET (bao gồm C#) biên dịch thực thi Đây lĩnh vực rộng, tìm hiểu kĩ Microsoft Intermediate Language (MS-IL), ngôn ngữ trung gian NET mã ngôn ngữ khác phải biên dịch ngôn ngữ trước thực thi Cụ thể tìm hiểu xem cách thức mà MS-IL với phần dùng chung Common Type System (CTS) Common Language Specification (CLS) cung cấp cho tương hoạt ngôn ngữ hướng NET Chúng ta trình bày ngôn ngữ biết NET khác bao gồm VB C++ Sau xem xét đặc trưng khác NET, bao gồm assembly, namespace, thư viện lớp NET Chúng ta kết thúc chương việc liệt kê vắn tắt loại ứng dụng mà tạo C# Mối quan hệ C# NET: C# ngơn ngữ lập trình mới, biết đến với hai lời chào: * Nó thiết kế riêng để dùng cho Microsoft's NET Framework (Một mạnh cho phát triển, triển khai, thực phân phối ứng dụng) * Nó ngơn ngữ hồn tồn hướng đối tượng thiết kế dựa kinh nghiệm ngôn ngữ hướng đối tượng khác Một điều quan trọng cần nhớ C# ngơn ngữ độc lập Nó thiết kế để sinh mã đích mơi trường NET, khơng phải phần NET có vài đặc trưng hỗ trợ NET C# không hỗ trợ bạn đừng ngạc nhiên có đặc trưng C# hỗ trợ mà NET không hỗ trợ (chẳng hạn tải tốn tử) Để tạo ứng dụng mang tính hiệu cao, cần tìm hiểu kỹ NET: Các Dịch vụ NET: Để thực thi mơ hình NET, vài khối hợp (building block) sở phải đặt chỗ (các block định rõ dịch vụ Web xây dựng nào) Các dịch vụ cố gắng để trợ giúp nhà phát triển xây dựng ứng dụng NET Microsoft định nghĩa dịch vụ khối hợp NET sau đây: - Authentication: Khi sử dụng công nghệ Authentication (chứng thực) Passport (hộ chiếu) Microsoft nhà phát triển tạo dịch vụ cho riêng bảo vệ dịch vụ mong muốn - Messaging: Các đặc tính Messaging (truyền thông điệp) NET xây dựng MSN Hotmail Web ã dựa vào dịch email, Microsoft Exchange Server 2000, Instant Messaging (truyền thơng điệp tức thì) Những hệ thống truyền thơng điệp đặc tính phân tán đến thiết bị tính khơng phụ thuộc tảng chúng - Personalized Experience (kinh nghiệm cá nhân): NET cho người dùng nhiều kiểm sốt thơng qua qui tắc xử lý liệu quyền ưu tiên mà xác định rõ liệu phải di chuyển quản lý - XML (Extensible Markup Language): XML xem ngơn ngữ chung mà cho phép liệu di chuyển từ dạng sang dạng khác bảo trì tính tồn vẹn Cùng với SOAP[5], XML cung cấp dịch vụ linh hoạt để quản lý điều khiển liệu Một thực thi (implementation) đề nghị dịch vụ NET Microsoft HailStorm HailStorm dịch vụ trung tâm-người dùng (user-centric), cung cấp cho người-dùngcuối khả nǎng lưu trữ thông tin cá nhân hẹn, lịch hay thơng tin tài Kết việc người dùng đǎng kí dịch vụ thơng tin chia sẻ với ứng dụng khác (thông tin dùng chung) theo ý muốn họ, trở thành phần người dùng điều khiển hoạt động Web Trong thời gian tới bạn tiếp cận dịch vụ tương tự đề xuất Web công ty bán cho bạn thông qua việc đǎng kí vào dịch vụ họ Như thấy NET chuẩn bị cho việc sử dụng số cơng nghệ Microsoft mà bắt đầu thích nghi chấp nhận cộng đồng tin học Internet Các Thành Phần NET Framework: a Thực thi ngôn ngữ chung CLR (Common Language Runtime) Tất ngơn ngữ lập trình có runtime (thi hành), dịch vụ hoạt động với ngơn ngữ lập trình Common Language Runtime (CLR thi hành ngôn ngữ chung) thành phần cốt lõi (cơ nhất) NET Nó cung cấp sở mà ứng dụng cho NET xây dựng CLR quản lí nhiều khía cạnh chu trình phát triển theo quan điểm người phát triển Chẳng hạn, làm việc với COM, nhà phát triển phải lưu tâm đến vấn đề quản lí nhớ, khởi tạo luồng (thread) loại bỏ nó, thành phần bảo mật vấn đề tương tự Điều gây số khó khǎn nhà phát triển phải tiêu tốn nhiều thời gian vào vấn đề Bộ thi hành ngơn ngữ chung CLR quản lí tất vấn đề nảy sinh cách tự động giải phóng cho nhà phát triển tập trung vào việc xử lý giao dịch logic CLR cung cấp runtime chung mà sử dụng với tất ngôn ngữ Thành phần làm cho NET có khả nǎng "hỗ trợ ngơn ngữ" (language-free) b Các lớp lập trình hợp (Unified Progrgamming Classes) Những thư viện lớp lập trình hay giao diện lập trình ứng dụng (API) sử dụng nhiều ngôn ngữ khác Để sử dụng ngôn ngữ lập trình khác nhau, nhà phát triển nghiên cứu thư viện lớp khác để làm việc với ngơn ngữ lập trình khác Vấn đề làm chậm trình phát triển ứng dụng làm cho công việc phát triển trở nên tẻ ngắt lãng phí nhiều thời gian .NET cung cấp lớp lập trình hợp với API dùng chung cho ngơn ngữ lập trình Các ngơn ngữ tương tác với ngơn ngữ khác lớp lập trình hợp cho phép nhà phát triển lựa chọn ngôn ngữ mà họ muốn cần API mà c ASP.NET (Active Server Pages NET) ASP.NET sử dụng chung với lớp lập trình mà tạo ứng dụng Web cách dễ dàng cho người lập trình ASP.NET cung cấp cách truy cập giao diện HTML chung chạy chương trình máy phục vụ thể kết thơng qua HTML (ví dụ text box chẳng hạn) Giao diện ASP.NET làm cho việc phát triển ứng dụng Web trở nên nhanh đối tượng điều khiển chung Như kết (của) lớp lập trình chung đặc tính chuẩn ASP.NET, nhà phát triển tiêu tốn thời gian viết mã cần nhiều thời gian sử dụng mã có ASP.NET sử dụng phần hai thành phần thực thi ngôn ngữ chung CLR ngơn ngữ lập trình hợp để tạo dịch vụ Web ... mà c ASP .NET (Active Server Pages NET) ASP .NET sử dụng chung với lớp lập trình mà tạo ứng dụng Web c ch dễ dàng cho người lập trình ASP .NET cung c p c ch truy c p giao diện HTML chung chạy chương... xuất Web c ng ty bán cho bạn thơng qua vi c đǎng kí vào dịch vụ họ Như thấy NET chuẩn bị cho vi c sử dụng số c ng nghệ Microsoft mà bắt đầu thích nghi chấp nhận c ng đồng tin h c Internet C c Thành... ngữ chung) thành phần c t lõi (c nhất) NET Nó cung c p sở mà ứng dụng cho NET xây dựng CLR quản lí nhiều khía c nh chu trình phát triển theo quan điểm người phát triển Chẳng hạn, làm vi c với COM,