Ngôn ngữ C# với kiến thức

6 407 1
Ngôn ngữ C# với kiến thức

Đang tải... (xem toàn văn)

Thông tin tài liệu

Ngôn ngữ C# với kiến thức

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

Ngày đăng: 14/11/2012, 17:18

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan