2010-08-26 8 views
5

Chúng tôi đọc ở đây và ở đó, xử lý sự kiện, người nghe sự kiện ... xử lý sự kiện/người nghe ... xử lý đối tượng ... đó là một sự nhầm lẫn hàng loạt mà một người mới như tôi không thể chịu đựng được.Sự khác biệt, nếu có, giữa trình xử lý sự kiện và trình xử lý sự kiện?

Bất kỳ ai làm rõ câu hỏi này: Sự khác biệt, nếu có, giữa trình xử lý sự kiện và trình xử lý sự kiện?

Thanks a lot, MEM

Trả lời

4

Thính giả:
Các trung gian, kết nối đối tượng giữa một nguồn hoạt động và phản ứng đối với hoạt động đó.
Vòng đời của đối tượng người nghe:

  1. Đăng ký trình xử lý được gọi khi sự kiện được xuất bản từ nguồn sự kiện.
  2. "Nghe" để một sự kiện diễn ra trên nguồn sự kiện.
  3. Gọi trình xử lý khi có.

Thuật ngữ "người nghe" có thể được lừa dối bởi vì, trong hầu hết các trường, nó không phải là tích cực làm anything-- nó chỉ đơn giản có chức năng như một hiệp hội được lưu trữ giữa một sự kiện và phương thức thụ lý sự kiện .

Trình xử lý:
Một đối tượng (thường là chức năng) cung cấp hành vi chạy khi đăng ký sự kiện được xuất bản.

(Xem Wikipedia's "Observer Pattern")
(Xem Wikipedia's "Event Handler")

Sự khác biệt quan trọng:
Một người biết lắng nghe phản ứng với một nguồn sự kiện, ví dụ bàn phím hoặc chuột.
Trình xử lý phản ứng với sự kiện, ví dụ: nhấn phím hoặc bấm chuột.

+0

Đây chính là cách tôi nghĩ về chúng. Câu trả lời chính xác! –

1

Sự kiện người nghe về cơ bản là một đại biểu rằng lắng nghe sự kiện này. Các đại biểu được sử dụng để viết một handler nếu lập trình viên cần phải làm điều gì đó trên một sự kiện cụ thể. Vì vậy, đối với một sự kiện cụ thể, trình lắng nghe hoạt động như một trình kích hoạt để kích hoạt mã xử lý thực tế.

Bạn có thể đọc về đây này:

http://msdn.microsoft.com/en-us/library/aa645739%28VS.71%29.aspx

http://blog.monstuff.com/archives/000040.html