Tìm hiểu về thuật ngữ ‘Lazy Initialization’ trong C#

‘Lazy Initialization’ là một thuật ngữ quen thuộc nói về phương pháp trì hoãn việc khởi tạo (hoặc nạp) dữ liệu cho đến khi chúng thực sự cần đến. Việc này rất hữu ích khi dữ liệu rất lớn và bạn không muốn người dùng tốn một tách cafe, ngồi chờ đợi những thứ chưa được sử dụng nhưng lại được nạp lên một cách … ‘xa xỉ’.

Comments Off on Tìm hiểu về thuật ngữ ‘Lazy Initialization’ trong C#

C# – Thread Signaling: Auto và Manual Reset Event

Khi làm việc với Thread, đôi lúc bạn cần các thread thực thi theo một trình tự nào đó để đảm bảo các tác vụ diễn ra một cách hợp lý. Như vậy, các thread cần phải sử dụng một cơ chế nào đó để đợi và thông báo cho nhau.

Comments Off on C# – Thread Signaling: Auto và Manual Reset Event

C# – Lập trình Thread với BackgroundWorker

BackgroundWorker là một component giúp cho việc lập trình Thread trở nên dễ dàng do các thuộc tính và event mà nó hỗ trợ sẵn. Trong bài viết này tôi sẽ giới thiệu cách sử dụng BackgroundWoker để làm một ví dụ tìm kiếm tập tin trong một dự án Windows Form. Qua đó bạn có thể thấy khả năng của đối tượng này và áp dụng vào những chương trình cụ thể.

Comments Off on C# – Lập trình Thread với BackgroundWorker

C# – Giao tiếp giữa các process bằng Pipe Stream (Inter-process communication)

Kể từ .Net 3.5, bạn có thể dễ dàng thực hiện được việc truyền dữ liệu giữa các process (tiến trình) bằng các kênh Pipe, nhờ vào namespace mới System.IO.Pipes. Tùy theo mục đích, bạn có thể sử dụng loại Anonymous pipe hay Named pipe.

Comments Off on C# – Giao tiếp giữa các process bằng Pipe Stream (Inter-process communication)

C# – Tìm hiểu về Lambda Expression (Biểu thức Lambda)

So với anonymous method, lambda expression được coi là một sự cái tiến đáng giá từ các phiên bản. Khi dùng anonymous method, bạn có thể tạo các hàm in-line nhằm hạn chế việc khai báo các hàm riêng lẻ không cần thiết, giúp mã lệnh ngắn gọn hơn. Nay với lambda expression, bạn có thể viết ngắn gọn và dễ dàng hơn nhờ việc cung cấp toán tử và cú pháp mới, đồng thời thể hiện sự “thông minh” của compiler bằng cách tự nhận diện kiểu của dữ liệu.

Comments Off on C# – Tìm hiểu về Lambda Expression (Biểu thức Lambda)

C# – Kĩ thuật Reflection trong .Net

Đối với nhiều người, reflection là một thuật ngữ lạ và ít khi được nhắc tới. Nhưng thực tế, thuật ngữ này đã xuất hiện và được áp dụng vào khá nhiều ngôn ngữ bậc cao phổ biến như C#, Java, Perl, PHP,…Vậy reflection là gì, và nó có công dụng gì trong việc lập trình hiện nay?

Comments Off on C# – Kĩ thuật Reflection trong .Net

Giúp bạn tối ưu hóa một chương trình C #

Đây là một số kinh nghiệm về tối ưu hóa mã nguồn C# sau một khoảng thời gian làm việc với nó. Bạn có thể áp dụng một số thủ thuật này trong các ngôn ngữ khác như VB.Net, Java…

Comments Off on Giúp bạn tối ưu hóa một chương trình C #

C# – Tìm hiểu về các Attribute thông dụng trong .Net

Attribute là một cơ chế được dùng để định nghĩa và khai báo các thông tin cần thiết, nhằm bổ sung và hỗ trợ khá nhiều chức năng liên quan đến việc soạn thảo, debug, cũng như biên dịch các chương trình.

Comments Off on C# – Tìm hiểu về các Attribute thông dụng trong .Net

C – Tìm hiểu về các hàm và thủ tục trong đồ họa

Chương này sẽ giới thiệu các hàm và thủ tục để khởi động hệ đồ hoạ, vẽ các đường và hình cơ bản như hình tròn, cung elip, hình quạt, đường gãy khúc, đa giác, đường thẳng, hình chữ nhật, hình hộp chữ nhật....

Comments Off on C – Tìm hiểu về các hàm và thủ tục trong đồ họa

Tăng hiệu suất ứng dụng bằng ViewEngines trong ASP.NET MVC

Công cụ Razor view engine hỗ trợ cả C# views và VB views trong một ứng dụng duy nhất. Tuy nhiên, nếu chúng ta chỉ sẽ sử dụng một loại cú pháp cho nhất quán thì chúng ta có thể tối ưu RazorCSharpViewEngine để hạn chế tìm các views.

Comments Off on Tăng hiệu suất ứng dụng bằng ViewEngines trong ASP.NET MVC