Vai trò của C# trong .NET Enterprise Architecture
C# yêu cầu phải có .NET runtime, trong một vài năm tới hầu hết các máy khách đặc biệt
là các máy để bàn sẽ được cài .NET. Vào lúc đó, việc cài đặt các ứng dụng C# sẽ giống
như việc tái phân phối các thành phần .NET. Sẽ có nhiều ứng dụng C# được cài đặt trong
môi trường thương mại. Thật vậy, C# được coi như là một cơ hội nổi bật cho các tổ chức
để có thể tạo nhữ
ng ứng dụng mạnh mẽ, những ứng dụn client-server n-lớp.
Khi kết nối với ADO.NET, C# có khả năng truy cập các cơ sở dữ liệu tổng quát và nhanh
chóng như cơ sở dữ liệu SQL Server và Oracle. Các datasets trả lại có thể dễ dàng thao
tác thông qua các đối tượng của ADO.NET, và tự động trả về kiểu XML để truyền thông
trên một mạng intranet văn phòng.
Một database schema được tạo ra cho một đề án, C# đủ
thông minh để thực thi các lớp
đối tượng truy xuất dữ liệu để có thể chèn, cập nhật, xoá truy cập đến một bản dữ liệu
khác.
Để tạo một ứng dụng với C#, bạn nhất định sẽ đề án tạo một thư viên lớp các đối tượng
truy xuất dữ liệuvà các đối tượng thương mại. Trong khi phát triển, bạn có thể dùng
Console projects để kiểm tra các phương thứ
c của các lớp của bạn. Một điều thú vị trong
lập trình Console là nó có thể tự động chạy các file BAT để kiểm tra một nhóm các mã
lệnh.
Chú ý rằng, C#và.NET sẽ ảnh hưởng đến cách thức đóng các gói vật lí cho việc dùng lại
các lớp. Trong quá khứ, rất nhiều nhà phát triển có nhồi nhét các lớp vào một thành phần
vật lí đơn bởi vì việc làm này giúp cho việc phát triển dễ dàng hơn, nếu xảy ra một lỗ
i
nhận dạng phiên bản, bạn sẽ biết nó xảy ra ở đâu. Bởi vì việc phát triển các thành phần
.NET thương mại đơn giản là thao tác copy các file vào một số thư mục, bây giờcác nhà
phát triển đóng gói các lớp của họ vào nhiều gói logic, các thành phần riêng biệt mà
không phải lo lắng về việc xung đột "DLL Hell".
Cuối cùng không kém phần quan trọng, các trang ASP.NET được viết bằng C# tạo thành
các giao diện người dùng thông minh hơn. Bởi vì các trang ASP.NET được biên d
ịch nên
chúng sẽ chạy nhanh hơn. Cũng bởi chúng có thể bẫy lỗi trong VS.NET IDE nên chúng
mạnh mẽ hơn. Do chúng hỗ trợ đầy đủ các đặc tính của ngôn ngữ như kết nối sớm, thừa
kế, nên các trang ASP.NET được viết trong C# gọn gàng và dễ bảo trì.
Các nhà phát triển có thể hoài nghi về sự thổi phồng qua mức về công nghệ và ngôn ngữ
mới, và miễn cưỡng dùng các nền đơn giản bởi vì chúng đã t
ừng tỏ ra hữu ích. Nếu bạn
là một nhà phát triển thương mại cho một bộ phận IT, hoặc nếu ban là nhà cung cấp các
dịch vụ ứng dụng thông qua World Wide Web, chúng tôi bảo đảm rằng C#và.NET đưa
ra không dưới bốn lợi ích lớn, thậm chí một vài đặc tính mà Web Services và server-side
controls không giải quyết được:
• Xung đột giữa các Component hiếm khi xảy ra và việc phát triển trở nên dễ dàng
hơn, do các phiên bản khác nhau của cùng một thành phần có thể chạy song song
nhau trên cùng một máy mà không gây ra xung đột
• Mã ASP của bạn sẽ không còn hỗn dộn nữa
• Bạn sẽ được thừa kế rất nhiều chức năng tuyệt vởi của các .NET base class
• Đối với các ứng dụng yêu cầu một giao diện Windows Forms, C# sẽ là cách dễ
nhất để tạo các ứng dụng loại này
Windows Forms có một vài điểm xuống hạng trong một vài năm trở lại đây do sự phát
triển của WebForms và các ứng dụng Internet-based. Tuy nhiên, nếu số ít các đồng
nghiệp của bạn thông thạo JavaScript, ASP, hoặc các công nghệ có liên quan, thì
Windows Forms vẫn là một sự lựa chọn để tạo một giao diện d
ễ dàng và nhanh chóng.
Nên nhớ ràng cần tách biệt mã của bạn để cho các logic giao diện người dùng tách biệt
với các logic thương mại và các mã truy cập dữ liệu. Làm như thế sẽ cho phép bạn di trú
ứng dụng của bạn vào trình duyệt tại một vài thời điểm trong tương lai nếu cần thiết. Dù
vậy, Windows Forms vẫn sẽ còn lấn át user interface trong các ứng dụng gia đình và các
sản phẩm thương mại nhỏ trong một thời gian dài nữ
a.
.
Vai trò của C# trong .NET Enterprise Architecture
C# yêu cầu phải có .NET runtime, trong một vài năm tới hầu hết các máy khách đặc. bàn sẽ được cài .NET. Vào lúc đó, việc cài đặt các ứng dụng C# sẽ giống
như việc tái phân phối các thành phần .NET. Sẽ có nhiều ứng dụng C# được cài đặt