Tôi sẽ thay đổi câu hỏi của bạn và nói: khi một sự kiện dựa trên không phải là giải pháp phù hợp cho một ứng dụng hướng đối tượng? Tôi nghĩ rằng hầu hết các ứng dụng OO có thể có lợi nếu chúng được thiết kế như nhà sản xuất sự kiện và người tiêu dùng.
Cuối cùng, một "cuộc gọi phương thức" trên thực tế là một thông điệp đến một đối tượng và đối tượng chịu trách nhiệm quyết định liệu nó có thực hiện điều gì với thông điệp đó hay không và thực hiện thao tác. Điều này không rõ ràng lắm trong các ngôn ngữ được gõ mạnh như Java, nhưng nó trở nên rõ ràng hơn trong các ngôn ngữ động như Ruby.
Một điểm thú vị khác của việc thiết kế một ứng dụng dựa trên sự kiện là thông thường các thành phần bên trong phải được cách ly và kết hợp chính xác, nếu không, mã sẽ trở thành một mớ hỗn độn rất, rất nhanh. Ví dụ, tôi thực sự thích khái niệm Kiến trúc lục giác được sử dụng bởi Alistair Cockburn, vì thông thường mẫu này tạo ra sự đóng gói tốt hơn và lực lượng (theo quan điểm của tôi) các thành phần gắn kết hơn.
Tôi nghĩ (nhưng có lẽ tôi đã sai) rằng điều này cũng liên quan đến khái niệm Thiết kế hướng miền của các sự kiện miền , trong đó các lớp miền phát ra các sự kiện được bắt bởi các đối tượng khác và các đối tượng này phát ra các sự kiện khác (bạn thấy ở đâu đây là: D). Những gì tôi thích về mẫu này là nói rằng các giao diện nên mô hình Vai trò, không phải triển khai.
Xin lỗi nếu tôi không có ý nghĩa nhiều, tôi đã thử nghiệm các mẫu này trong vài tháng qua với kết quả tuyệt vời, nhưng tôi vẫn đang cố gắng để hiểu các khái niệm và khoảng cách chúng đạt được.