Tôi đã triển khai ví dụ ngắn này để cố gắng minh họa một mẫu ủy quyền đơn giản. Câu hỏi của tôi là. Điều này có vẻ như tôi đã hiểu quyền của phái đoàn không?Các đại biểu trong python
13
A
Trả lời
4
Đó là khái niệm cơ bản, có - chuyển một số yêu cầu đến một đối tượng khác để xử lý.
11
Một mẹo Python: bạn không cần phải nói:
func = getattr(self.handler, 'Handle')
func(event)
chỉ nói:
self.handler.Handle(event)
Tôi không chắc chắn những gì bạn đang làm với lớp Handler của bạn, nó isn' t được sử dụng trong ví dụ của bạn.
Và trong Python, các phương pháp có tên viết hoa là rất bất thường, thường là kết quả của việc chuyển một số API hiện có với tên như thế.
+1
Cảm ơn Ned, đó là một phần của ví dụ lớn hơn bằng cách sử dụng mô hình Lệnh công văn, đó là lý do tại sao tôi sử dụng getattr, cảm ơn vì đã chú ý đến tên phương thức xấu, tôi sẽ sửa chữa – MattyW
Các vấn đề liên quan
- 1. Các đại biểu trong SWIG - C#
- 2. các đại biểu vô danh trong C#
- 3. PrepareForSegue và các đại biểu
- 4. Đại biểu trong C++ 11
- 5. Các đại biểu: Predicate Action Func
- 6. C#: cách tạo loại đại biểu từ các loại đại biểu?
- 7. ReSharper: định dạng của các đại biểu
- 8. Đại biểu so với từ khóa đại biểu
- 9. Đại biểu là gì?
- 10. Tạo các loại đại biểu động trong C#
- 11. Kết nối các lớp đại biểu trong Objective-C
- 12. Blocks vs đại biểu
- 13. Cách đại biểu hoạt động (trong nền)?
- 14. Đại biểu Constructor C++
- 15. Nhiều đại biểu trong mục tiêu C
- 16. Đại biểu UISplitViewController trong một singleton
- 17. Các giao thức và đại biểu cho các xác ướp
- 18. in bit đại diện của các số trong python
- 19. Đại biểu Vs. Thông báo trong iPhoneOS
- 20. Sự kiện và đại biểu trong F #
- 21. đại biểu tiêu chuẩn trong C#
- 22. Tăng sự kiện đại biểu trong Moq
- 23. Cast đại biểu đến Func trong C#
- 24. MethodInvoke đại biểu hoặc biểu thức lambda
- 25. Proxy/đại biểu tại Scala
- 26. Câu hỏi về đại biểu
- 27. DependencyProperty của loại đại biểu
- 28. Thuật ngữ C mục tiêu: đại lý & đại biểu
- 29. C#: Hành động đại biểu so với đại biểu rõ ràng
- 30. QDataWidgetMapper và nhiều đại biểu
Bạn đang làm gì với lớp 'Handler'? – Santa
Đây là một phần của một ví dụ lớn hơn, và tôi quên để loại bỏ nó khi tôi đăng nó ở đây. – MattyW
Trong đoạn mã trên, lớp Geo, Steve và Andy của bạn có chức năng Xử lý mà bạn gọi là getattr(). Tôi recommand để kiểm tra các chức năng thực sự tồn tại trong các đối tượng đại biểu với hasattr() trước khi gọi getattr. Tôi chỉ muốn chỉ ra điều đó bởi vì nó có thể là một nguồn tai nạn. – Ashbay