Thông thường khi tôi thiết kế một chương trình với MVC, bộ điều khiển là vô dụng một nửa thời gian.
Ý tôi là thế này: một cái gì đó xảy ra trên khung nhìn (ví dụ như một nút bấm). Chế độ xem sau đó thông báo cho bộ điều khiển. Bộ điều khiển sau đó trực tiếp ủy quyền cho mô hình và không làm gì khác vì nó không có gì để làm.
Ví dụ:
Người dùng nhấn nút 'Color Blue'> view báo cho bộ điều khiển controller.colorBlue()
> bộ điều khiển cho model model.colorBlue()
> màu mô hình có màu xanh lam.
Trong ví dụ này, bộ điều khiển dường như vô dụng. Nó không thêm gì. Quan điểm cũng có thể đã nói thẳng với mô hình.
Tuy nhiên, nửa còn lại, bộ điều khiển thực hiện một số loại trung gian giữa chế độ xem và mô hình.
Câu hỏi của tôi là: làm thế nào phổ biến trong cấu trúc MVC? Có hợp lý không khi một nửa thời gian bộ điều khiển của tôi có vẻ không cần thiết? Hay đây là một vấn đề? Đây có phải là phổ biến? Làm thế nào tôi nên tiếp cận điều này?
Nếu câu hỏi của tôi không đủ rõ ràng, xin vui lòng nói như vậy.
controller.colorBlue()
thực sự sau đó gọimodel.setColor(0, 0, 255);
. Một lý do để phân tách giữa Model và View là thường xảy ra trường hợp bạn có nhiều thành phần UI để thể hiện một trạng thái duy nhất trong mô hình (ví dụ: một mục được kiểm tra trong menu, thanh công cụ bị chán nản và con trỏ thay đổi thành màu biểu tượng tất cả tương ứng với trường công cụ hiện được chọn trong mô hình), với phân tách MVC, mô hình sẽ không phải lo lắng về việc đồng bộ hóa các thành phần UI khác nhau.