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ệu và 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.