Phương pháp tốt để liên lạc giữa các bộ điều khiển liên kết lỏng lẻo trong MVC/MVP là gì?Liên lạc giữa các bộ điều khiển trong MVC/MVP
Ví dụ: trong Trích dẫn, người dùng phải tạo và thêm liên hệ mới hoặc thêm liên hệ hiện có.
Họ chọn tạo liên hệ mới. Khi hoàn thành, liên hệ được thêm vào báo giá và giao diện người dùng trả về người dùng cho báo giá đó. Nếu họ nhấn hủy, họ sẽ được đưa trở lại báo giá.
Tôi muốn sử dụng lại Liên hệ ở nơi khác, do đó không nên biết gì về Trích dẫn. Ví dụ, nếu tôi tạo một số liên lạc từ danh sách liên lạc, nó sẽ trở lại đó khi hoàn thành.
Dưới đây là một số tùy chọn mà tôi đã nghĩ:
hành động ContactsController gọi ApplicationController.getNextStep (this) và ApplicationController con số nó ra bước tiếp theo trên danh nghĩa của ContactsController
ContactsController tăng sự kiện "hành động hoàn toàn" hoặc tương tự và ApplicationController đang lắng nghe sự kiện này và gọi đúng bước tiếp theo
QuoteController chuyển trong một "baton" để ContactsController với bước tiếp theo, mà ContactController gọi khi thực hiện
Danh bạ điều khiển sự kiện "actioncomplete" hoặc tương tự, và QuotesController đang lắng nghe sự kiện này và gọi đúng bước tiếp theo.
Bạn có kinh nghiệm về những điều này không? Những ý tưởng khác? Điều gì sẽ gây ra những cơn đau đầu ít nhất trong một ứng dụng lớn?
Cảm ơn!