Tải bản đầy đủ (.doc) (6 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (65.45 KB, 6 trang )

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 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

×