tôi có thể thấy hai lý do chính để tách thuyết trình từ hoạt động: tái sử dụng và testability.
trường hợp sử dụng Bất động cho việc tái sử dụng: chúng ta có một thực thể minh họa với những đặc tính như các nhiếp ảnh gia, bản quyền và ngày chụp, có thể liên kết đến các tài liệu. Truyền thuyết về mối quan hệ giữa tài liệu và hình minh họa. Bạn có thể chỉnh sửa cả hình minh họa và chú thích trên màn hình riêng của họ, nhưng chúng tôi cũng muốn minh họa có thể được chỉnh sửa từ màn hình chú giải. Vì vậy, chúng tôi đã làm một người trình bày cho màn hình minh họa. Hoạt động minh họa là một trình bao bọc thực sự mỏng xung quanh người trình bày đó, và hoạt động truyền thuyết phức tạp hơn một chút, nhưng tái sử dụng trình bày và xem. Trách nhiệm của hoạt động là cung cấp các số RequestContext
và thực hiện fire()
(các nút lưu/hủy có trên một hoạt động khác, tương tự như các hành động trên Google Groups).
trường hợp sử dụng Giả định cho việc tái sử dụng:
- cho hình thức-yếu tố khác nhau, bạn muốn tổng hợp những thứ trên cùng một màn hình hoặc tách chúng trên màn hình của mình (ví dụ như tổng thể/chi tiết), và khi bạn tổng hợp chúng, có hai hoạt động có thể không lý tưởng. Sử dụng các hoạt động mỏng trong hệ số dạng điện thoại cho phép bạn sử dụng lại các thành phần (trình bày/xem) trong một hoạt động đơn lẻ trong các yếu tố dạng bảng hoặc máy tính để bàn.
- sử dụng lại cùng một người trình bày trên các nền tảng khác nhau: bạn có thể sử dụng cùng một người trình bày trên ứng dụng Android và ứng dụng web (và thậm chí có thể là ứng dụng iOS thông qua java2objc), chế độ xem sẽ là chế độ xem Android gốc hoặc dựa trên GWT chế độ xem và điều hướng sẽ được xử lý bởi các hoạt động và/hoặc phân đoạn của Android so với các hoạt động và địa điểm của GWT.
Về testability (đây là lý thuyết), sau đó bạn có thể kiểm tra người dẫn chương trình của bạn mà không có sự rắc rối của vòng đời hoạt động (chế giễu quan điểm), và sau đó tách biệt kiểm tra vòng đời (cho dù đó khởi một cách chính xác và dọn dẹp các người trình bày, tìm nạp/lưu trữ dữ liệu, v.v. chế nhạo người trình bày).
Xem thêm thông điệp cam kết của ý tưởng https://code.google.com/p/google-web-toolkit/source/detail?r=10185
Ray là làm MVP một chi tiết thi hành các widget, giống như các widget di động sử dụng thuyết trình nội bộ ngày hôm nay. Từ bên ngoài họ chỉ là vật dụng mà bạn có thể sáng tác theo cách bạn muốn; bên trong họ sử dụng MVP để bạn có thể kiểm tra chúng mà không cần GWTTestCase
.
Nguồn
2013-03-09 12:34:07
Ai đó đã nói với tôi điều tương tự trước khi tôi đọc câu trả lời của bạn nhưng không chi tiết. Đây là câu trả lời tôi đang tìm kiếm để giúp tôi đưa ra chiến lược mã hóa của mình. Thk u. –