Cần tư vấn về thiết kế tương tác giữa các phần khác nhau trong ứng dụng của tôi


10

Tôi đang cố gắng thiết kế các phân nhánh "chính" của Ứng dụng Rich Desktop dựa trên Nền tảng NetBeans 7. Ứng dụng này sẽ sử dụng các dịch vụ HTTP và thông qua "hệ thống đẩy" qua TCP, sẽ nhận được tin nhắn.

  • Chúng tôi là 3 nhà phát triển và chúng tôi muốn phát triển các mô-đun song song
  • Ứng dụng sẽ được xếp lớp (Dữ liệu, Kinh doanh, Trình bày)
  • Chúng tôi sẽ sử dụng Mô hình trình bày để phân tách các phản hồi
  • Một số dữ liệu dạng hạt (ví dụ như Bean Bean) sẽ được chia sẻ bởi một số màn hình (và có thể được hiển thị trên một số màn hình cùng một lúc)
  • ...

Chúng tôi có thể phát triển các màn hình riêng lẻ, nhưng chúng tôi không biết chính xác cách tổ chức toàn bộ ứng dụng và xác định từng nội dung mô-đun.

  1. Vì vậy, bạn có lời khuyên nào (một mẫu / ứng dụng tốt nhất / sách / ứng dụng mẫu) để phối hợp / quản lý các tương tác bên trong toàn bộ ứng dụng không?
  2. Bất kỳ lời khuyên về cách xác định nội dung mô-đun?

Cảm ơn!


Ví dụ nhỏ để minh họa những gì tôi muốn xây dựng: Ứng dụng quản lý người dùng Foo

  1. Chạy chương trình
  2. Ở bên trái [explorer] chúng tôi có một danh sách các nền tảng (danh sách được lưu trữ trong một tệp cục bộ)
  3. Ở đầu chúng tôi có nút để thêm Nền tảng mới (cũng có sẵn với nhấp chuột phải)
  4. Bằng cách nhấp đúp vào nền tảng, ứng dụng gọi dịch vụ HTTP là truy xuất danh sách người dùng đầy đủ. Danh sách này được hiển thị trong [trình chỉnh sửa] (trong JTable)
  5. Một quá trình nền được bắt đầu: thông qua kết nối TCP, chúng tôi nhận được tin nhắn
  6. Có thể thêm người dùng mới nhờ một nút trong Thanh công cụ

Nếu ứng dụng được khởi chạy trên một PC khác và nếu người dùng được kết nối với cùng một nền tảng, Danh sách người dùng của ứng dụng sẽ được cập nhật động (thêm / xóa / trạng thái: {offline / online}) (nhờ tin nhắn)

Trong tương lai, Mô-đun trò chuyện sẽ được cung cấp.

Câu hỏi của tôi là (nói cách khác): bất kỳ lời khuyên / thực tiễn tốt nhất để quyết định nội dung của từng mô-đun? Nếu PM (Mô hình trình bày) là một cách tốt để tách biệt chế độ xem / doanh nghiệp và dữ liệu và tạo màn hình, cách tốt nhất để liên kết một số màn hình dựa trên PM là gì? Hãy tưởng tượng chúng tôi phát triển Mô-đun trò chuyện, làm thế nào để thêm một mục "Thảo luận với ..." vào menu Ngữ cảnh có sẵn với nhấp chuột phải vào Danh sách người dùng?


3
Không rõ bạn đang hỏi gì. Làm thế nào về việc cung cấp một ví dụ nhỏ để minh họa câu hỏi của bạn?
Robert Harvey

Bài đăng tuyệt vời của Geertjan Wielenga. Có báo cáo của báo cáo Tom Wheeler (NetBeans thành viên Dream Team): java.dzone.com/news/how-to-split-into-modules
Destroyica

Câu trả lời:


5

Đưa ra yêu cầu của bạn, để bắt đầu với công cụ xử lý lõi phải được tạo bằng Mẫu lệnh và sau đó bạn có thể sử dụng các mẫu Mẫu cho bộ xử lý yêu cầu. Và vân vân. Không có gì gọi là mẫu Master. Nếu có, họ sẽ không cần chúng tôi nữa.

Ý tưởng là có một thiết kế cho phép bạn phát triển với các yêu cầu.

Tôi sẽ bắt đầu bằng cách tạo ra một giao diện mô-đun cơ sở và cung cấp giao diện cho mọi người và một số tiện ích xung quanh nó. Hãy để mọi người thực hiện các mô-đun của riêng họ dựa trên mô-đun cơ sở.


3

Tôi nghĩ rằng bạn đang xem một mẫu MVC khá cổ điển được hỗ trợ bởi các dịch vụ (RESTful tôi giả sử). Chìa khóa sẽ là tách (các) dịch vụ khỏi UI. Điều này không phải vì bạn đang giới thiệu một giao diện người dùng thay thế, mà bởi vì cung cấp cho bạn sự rõ ràng về giao diện dịch vụ của bạn.

Vì vậy, khi bạn đang nghĩ về getPeopledịch vụ, hãy chắc chắn rằng bạn nghĩ về cách một giao diện người dùng thứ cấp (không xoay) sẽ tương tác với dịch vụ. Nếu bạn nhớ điều đó, bạn sẽ đưa ra một giải pháp khá linh hoạt / tách rời.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.