Tut này sẽ hướng dẫn các bạn xây dựng 1 code library (đoạn mã thư viện) tối thiểu và trọn vẹn sử dụng C#. Mục đích của bài viết này là hướng dẫn bạn tạo ra 1 file thư viện liên kết động (.dll).
Để đơn giản, mình chia làm 2 bước:
* Bước 1: xây dựng một assembly
- Đầu tiên, bạn mở VS.NET (trong bài này mình dùng VS.NET 2K5 PRO). Nhấn chuột vào menu File>New>Project.
- Ở phần Templates bên phải cửa sổ, bạn chọn dự án dạng "Class Library". Ở ô Name, bạn nhập tên dự án, ở đây mình nhập "CDCV"; ô Location bạn chọn 1 nơi lưu trữ dự án mà bạn muốn.
- Vùng soạn thảo code sẽ hiện ra chỉ có như sau:
Visual C# Code:
Để minh họa, mình thêm vài dòng code đơn giản sau trong namespace CDCV
- Bây giờ, bạn chọn menu Build>Build Solution để tiến hành Build dự án nhéVisual C# Code:
Sau đó hãy tìm đến thư mục chứa dự án vừa tạo, vào thư mục bin\debug, bạn sẽ thấy có 1 tập tin "CDCV.dll".
* Bước 2: áp dụng những gì ta đã làm được
- Tạo 1 project "Console Application"
- Chọn menu Project>Add Reference... Chọn thẻ Browse, tìm đến và nhắp chọn tập tin CDCV.dll, sau đó nhấn nút OK để tiến hành tham chiếu đến CDCV.dll
Okay, bây giờ thử tạo cho mình 1 chương trình +,-,*,/ cơ bản dựa trên class CDCV.FirstAssembly nhá
Visual C# Code:
namespace ConsoleApplication1 { class Program { { Console.WriteLine("{0} + {1} = {2}", a, b, Class1.PhepCong(a, b)); Console.WriteLine("{0} - {1} = {2}", a, b, Class1.PhepTru(a, b)); Console.WriteLine("{0} * {1} = {2}", a, b, Class1.PhepNhan(a, b)); Console.WriteLine("{0} / {1} = {2}", a, b, Class1.PhepChia(a, b)); } } }
Với ví dụ đơn giản trên, chắc hẳn mọi người cũng hiểu được lợi ích của việc tạo ra những .dll, nó giúp cho việc phát triển phần mềm dễ dàng hơn, chia 1 dự án phần mềm thành từng module, và mỗi nhân viên trong dự án sẽ lo làm mấy chục cái dll như thế này. ^ ^
Tut này chỉ hướng dẫn cách làm 1 single assembly, rất có ích trong những dự án phần mềm nhỏ, còn cách làm 1 multi-module assembly mình hi vọng có thể viết trong thời gian tới (thằng này dùng trong các dự án phần mềm lớn, bởi vì nếu dùng single assembly sẽ thành 1 "cơn ác mộng" logic)
Lưu ý: bạn có thể "imports" CDCV.dll trong ứng dụng VB.NET đấy. Đây hẳn là 1 chiếc cầu nối quan trọng giữa các ngôn ngữ hỗ trợ .NET các bạn nhỉ?
Cảm ơn bài viết của bạn hôm nào bạn viết nốt về cách làm multi-module assembly nhé. Cảm ơn!