Extension Methods trong .NET 3.5

2008 June 15
tags: ,
by Nguyễn Hùng Cường

Vấn đề

Như các bạn đã biết thì khi ta muốn thêm một method nào đó vào một class thì bạn phải sửa code và biên dịch lại assembly chứa class đó. Rõ ràng điều này chỉ “tạm chấp nhận” khi code đó chính là do bạn tạo ra, do bạn giữ bản quyền chứ không thể khi ta sử dụng các library của người khác.

Thật ra, nếu nói cho đúng thì có 2 cách mà bạn có thể workaround cái vấn đề này :

  • Thứ nhất. Inherit cái class bạn muốn thêm method
  • Thứ hai. Tạo một static class mới với đầu vào là class muốn thêm method và đầu ra là class sau khi bạn đã thao tác trong method này. (thường thấy mọi người hay dùng kiểu này)

Tuy nhiên chúng ta hãy xem xét các mặt không có lợi khi áp dụng các phương thức trên :

  • Phương thức 1 : Vấn đề xảy ra khi class bạn muốn thêm method không cho inherit. Tiêu biểu là sealed classes như String, Int16, Int32, … Hơn nưã giả sử inherit được thì nó lại gây khó khăn khi sử dụng, ví dụ như thay vì dùng một cách tự nhiên là String thì bạn phải sử dụng MyString, ModedString, …. Không hề tự nhiên.
  • Phương thức 2 : Có thể tạm chấp nhận được nhưng nó đi ngược với tư tưởng hướng đối tượng, cách viết method sẽ trở về “nguyên thủy” khi làm việc với struct, function, … Bạn sẽ phải String x = MyClass.Modify(inputString) thay vì x = x.Modify()

Và điều này đã được giải quyết khá gọn gàng trong .NET 3.5 (thực ra là từ .NET 3.0) với Extenstion Methods
read more…

Những cách quảng cáo “thông minh”

2008 May 24
by Nguyễn Hùng Cường

Trong thế giới quảng cáo trực tuyến phát triển rầm rộ như hiện nay, nếu bạn không nổi bật thì khó mà sống sót được. Và thế là có nhiều “độc chiêu” ra đời từ những cái đầu “quái chiêu”.

read more…

Thay đổi trong cách viết bài

2008 May 23
tags:
by Nguyễn Hùng Cường

Không biết mình bắt đầu viết blog là khi nào nhỉ ? Để xem, mình bắt đầu với cái blog bên Yahoo 360 vào ngày 28 tháng 07 năm 2007 (cũng là ngày mình có internet tại nhà, :sad: ) - cách đây gần 1 năm, sau đó lại chơi với wordpress, rồi lại blogspot.

Hồi đó viết bài chủ yếu là text, text, text và text. Cách viết bài cũng rất thô sơ. Chỉ có sau này đi khi “du sơn ngoạn thủy” trên internet thì mới học hỏi được một số cách viết bài khá hay.

read more…