Vấn đề: Các lớp Hoạt động thực sự lớn và phức tạp. Khó đọc/hiểu và sửa đổi. Khó kiểm tra.Model-View-Presenter và Thiết kế ứng dụng Android
Giải pháp có thể có: Model-View-Presenter (có lẽ với tiêm phụ thuộc). Và đối tượng thử nghiệm Mock!
Tôi đang lập kế hoạch triển khai Model-View-Presenter trong ứng dụng Android của mình. Về cơ bản, đây là một biến thể của Model-View-Controller. Về bản chất, hãy làm cho Hoạt động một trình quản lý bố cục được tôn vinh và trì hoãn bất kỳ logic nghiệp vụ nào cho Người trình bày. Một cách khác để xem Presenter là nó giống như một lớp Helper được khởi tạo trong một Activity để thực hiện việc nâng hạng nặng với hoạt động cung cấp một giao diện/gọi lại mà Presenter có thể sử dụng.
Tôi muốn nhận được một số suy nghĩ của cộng đồng về vấn đề này. Ví dụ: Giao diện nào được ngụ ý bởi điều này?
Mô hình và Chế độ xem có trách nhiệm gì so với Người trình bày.
Đối với người trình bày Tôi cho rằng Hoạt động sẽ triển khai các giao diện cần thiết bởi Người trình bày?
Những thứ gì sẽ được đưa vào Trình bày so với Hoạt động?
Người trình bày có thể là một đối một với Hoạt động không? Điều gì về một hoạt động với nhiều mảnh hiển thị các vật dụng khác nhau mỗi với bộ chuyển đổi riêng của mình? Bây giờ chúng ta có cần nhiều người thuyết trình hay vẫn chỉ là một diễn giả không?
Điều gì về Người trình bày so với bộ điều hợp?
Người trình bày nên liên hệ như thế nào để nói Hoạt động với ListView và ListViewAdapter? Điều gì xảy ra với Presenter vs. Adapter?
Người thuyết trình có nên chọn Bộ điều hợp để sử dụng không? Hoặc nên Hoạt động đưa ra quyết định này? Nếu Trình mô hình xử lý Dữ liệu Mô hình hoặc Bộ điều hợp? Có xung đột giữa các bộ điều hợp và người thuyết trình không? Người thuyết trình có thích ứng không? hoặc một cái gì đó ít hơn/nhiều hơn. Thông thường Bộ điều hợp chỉ dành cho các tiện ích như ListViews trong một Hoạt động. Họ không thực hiện các cuộc gọi tự lấy dữ liệu mà tôi nghĩ. Vì vậy, trong mô hình xem-presenter điều quan trọng là thực sự để quyết định những gì đi trong người trình bày so với các lớp khác và những gì giao tiếp nên được giữa người trình bày và các hoạt động, bộ điều hợp và quan điểm/bao gồm cả các mảnh vỡ. Các tính năng chính của chúng tôi là gì?
Model-View-Presenter có thực sự là một ý tưởng tồi cho Android không? Hay nó có phù hợp với Khung làm việc Android không?
Hãy nhớ rằng có rất nhiều ví dụ bên ngoài Android của SDK rất trưởng thành vẫn cần một kiến trúc vi mô như MVP. Trong thực tế ví dụ rất nhiều: ví dụ. Flex đã rất trưởng thành SDK cho Flash và nó vẫn cần MVP và MVC framework cho hầu hết các ứng dụng chính.
EJB cần Spring để đơn giản hóa và sắp xếp nó. MFC/Struts vv và danh sách đi và về. Tại sao Android nên khác biệt? Tại sao chúng ta nên giả sử SDK có mọi thứ cần thiết trong trường hợp của Android mà không có một mẫu thiết kế như MVP?
Điều cần biết trước khi tôi dành hàng trăm giờ cho việc này, vui lòng nhận xét/trả lời bất kỳ phần nào của câu hỏi này.
Ý kiến của bất kỳ ai? upvote? downvote? bình luận? câu trả lời? .......... –
Xem phần bổ sung này ... http://programmers.stackexchange.com/questions/133134/is-model-view-presenter-mvp-scheme-useful-for-android – nawfal