Làm thế nào bạn hiện đang xem xét phản ứng đi ngược lại nguyên tắc phân tách mối quan tâm. Câu hỏi của bạn cho rằng khả năng đáp ứng là một trách nhiệm duy nhất chỉ thuộc về một thành phần.
Tôi muốn đề xuất rằng tính đáp ứng là một thuộc tính / trách nhiệm có thể được áp dụng cho nhiều thành phần. Vì lợi ích của ví dụ của tôi, tôi giả sử một MVC chung | MVP | Mẫu kiểu MVVM.
Các Xem chắc chắn nhất có một bàn tay trong phản hồi của ứng dụng. Các thành phần UI và logic mà bạn sử dụng tất cả chỉ ra cách thức Chế độ xem sẽ thực hiện. Vì vậy, View chịu trách nhiệm về tính đáp ứng của các thành phần UI.
Bộ điều khiển cũng có khả năng đáp ứng ứng dụng. Các loại cấu trúc dữ liệu và cách logic kinh doanh được tạo ra sẽ ảnh hưởng đến hiệu suất. Vì vậy, ở đây, Bộ điều khiển | Người trình bày | ViewModel cũng có trách nhiệm đáp ứng. Nhưng trách nhiệm này thuộc về các yếu tố khác với những gì mà View chịu trách nhiệm.
Cuối cùng, Model chịu trách nhiệm cho các cuộc gọi dịch vụ / truy cập dữ liệu. Có những cân nhắc hiệu suất rõ ràng trong cách dữ liệu được lấy và trình bày cho lớp giữa. Nhưng một lần nữa, đây là một yếu tố khác nhau cũng phải được đáp ứng.
Responsiveness
như một tài sản không phải là trách nhiệm duy nhất của bất kỳ một thành phần nào. Tất cả các thành phần phải chịu trách nhiệm cho việc chế tạo riêng của chúng để đóng góp vào ứng dụng tổng thể. Một UI và Trình điều khiển tuyệt vời có thể được hiển thị vô dụng bằng các yêu cầu dữ liệu dường như vô tận.
Theo như thử nghiệm, sử dụng cách tiếp cận theo cấp bậc vẫn có lợi cho bạn về nỗ lực và khả năng đáp ứng tổng thể. Nếu bạn có 5 thiết bị và viết các lớp riêng lẻ cho mỗi thiết bị, bạn sẽ có 15 thành phần để kiểm tra. Sử dụng mẫu MVC * cho phép bạn loại bỏ 8 thành phần khỏi kiểm tra do bạn có Mô hình và Trình điều khiển chung. Nếu hai lớp đó thực hiện phần công việc của chúng trong việc phản hồi, thì bạn chỉ phải kiểm tra chúng một lần. Sau đó, bạn có thể tập trung nỗ lực còn lại của mình vào 5 Lượt xem.