Cá nhân, tôi sử dụng các sự kiện tùy chỉnh để dễ sử dụng. Tôi có thể yêu cầu một lớp gửi một sự kiện khi có điều gì đó xảy ra (nói hoạt ảnh kết thúc hoặc lỗi xảy ra khi tải xuống) và bất kỳ số lượng lớp nào khác chạy bất kỳ số lượng chức năng nào khác dựa trên sự kiện đó. Ngoài ra, tôi viết mã cho khả năng sử dụng lại. Mục tiêu của mỗi lớp là hoàn toàn độc lập để nó có thể chạy trong bất kỳ dự án nào mà không cần các gói khác. Vì vậy, thay vì có một lớp gọi một phương thức của lớp khác, tôi gửi một sự kiện từ lớp đầu tiên mà lớp thứ hai lắng nghe và sau đó chạy phương thức đó. Sau đó, khi tôi cần lớp đầu tiên cho một dự án khác, tôi chỉ có thể sao chép/dán nó mà không cần phải sửa đổi nó và không mất bất kỳ chức năng nào.
EDIT: Ngoài ra, cần lưu ý rằng đôi khi mọi người làm những gì bạn mô tả để vượt qua phải vượt qua trong các đối số sự kiện.
Giả sử bạn có nút trên sân khấu và bạn cần có thể nhấp vào nút đó, nhưng bạn cũng cần phải có thể gọi phương thức đó theo cách thủ công. Một số người không nhận ra bạn có thể vượt qua trong một sự kiện null và chỉ có phương pháp duy nhất. Hoặc bạn có thể đặt nó làm đối số mặc định rỗng, xem bên dưới:
private function onClickHandler(e:MouseEvent = null):void{
//as long as you never reference "e" within this method, this method can be used both for MouseEvent listeners and manually calling it elsewhere in the code
}
Kỹ thuật đó có thể giúp tránh trình xử lý sự kiện chỉ gọi phương thức khác và không có gì khác. Tại thời điểm này trong lập trình của tôi, mọi trình xử lý sự kiện AS3 đơn lẻ mà tôi viết đặt đối số sự kiện thành null theo mặc định. Nó chỉ làm cho mọi thứ dễ dàng hơn sau này.
Nguồn
2012-11-27 18:04:32
tốt, tạo tham chiếu mỗi khi bạn cần kích hoạt phương pháp, bạn đang làm cho cuộc sống dễ dàng hơn cho bộ thu gom rác =) (anh ấy sẽ có ít điều phải lo lắng hơn). – Ziul