Tôi hiện đang làm việc trên ba ứng dụng Vaadin và tôi thực sự cảm thấy như tôi bỏ lỡ một cái gì đó. Tôi đã từng làm việc với Spring MVC trước đây, nơi mà kiến trúc rõ ràng và được tách riêng, bạn tiêm các dịch vụ vào các bộ điều khiển và không kết nối bộ điều khiển với giao diện người dùng và vân vân.Vaadin: Các mẫu thiết kế
Bây giờ trong Vaadin, đó là một câu chuyện khác. Vì vậy, nếu có bất kỳ chuyên gia Vaadin ra khỏi đó, cho tôi hỏi bạn vài câu hỏi:
Câu hỏi 1:
- Is it OK để tiêm dịch vụ (hoặc DAO) trực tiếp đến các thành phần giao diện người dùng?
- Ví dụ: Thành phần chịu trách nhiệm hiển thị liên hệ trong ứng dụng email (ContactWidget, dựa trên VerticalLayout with Links) cần hiển thị liên hệ. Có thể gửi trực tiếp contactRepository vào phần tử giao diện người dùng này không?
Câu hỏi 2:
- Liên quan đến việc áp dụng chính đã được thông qua với số tiền rất lớn của componenets UI, bởi vì rất nhiều các thành phần giao diện người dùng cần truy cập vào một số dữ liệu toàn cầu hay gọi các phương pháp toàn cầu về chính lớp ứng dụng
- Ví dụ: Thành phần bật lên có Nút mở cửa sổ mới, là con của cửa sổ chính trong ứng dụng. Do đó thành phần popup phải có tham chiếu đến ứng dụng chính.
Câu hỏi 3:
- Dependencies giữa các thành phần giao diện người dùng có thể nhận được khá hoang dã. Có lẽ không có gì nhiều để làm ở đây, nhưng đôi khi nó không cảm thấy như thế này cửa sổ phụ thuộc vào danh sách này phụ thuộc vào popup đó ... bạn có được ý tưởng, nó trông chặt chẽ cùng với tôi
Tôi muốn muốn tìm hiểu càng nhiều càng tốt về thiết kế tốt với Vaadin trước khi mã của tôi chuyển thành Spaghetti, vì vậy mọi đề xuất, kinh nghiệm và phương pháp hay nhất sẽ được đánh giá cao.
Thanx Dusty. Cuối cùng tôi đã chọn MVP làm bằng tay (rất nhẹ) và sự kiện tuyên truyền dựa trên EventBus của Guava. Tôi khá hài lòng với quyết định này mặc dù điều ngạc nhiên là không có khung MVP vững chắc (có dozena của betas/alphas/thí nghiệm) cho Vaadin. – Xorty
Vâng, tốt, mặc dù đã được khoảng một thời gian dài, nó không có đủ lớn sau đây để có được các kỹ sư tình yêu mà công nghệ khác được. Hầu hết những người sử dụng nó đang tìm kiếm giải pháp đơn giản nhất có sẵn, hoặc nếu bạn giống như chúng tôi, không có đủ thời gian để ghi lại những gì chúng tôi đang làm. Tạo bằng tay là một lựa chọn rất tốt. Các khái niệm là phần quan trọng, và hầu hết các khung công tác MVC/MVP/MVVM chỉ có ở đó để đảm bảo bạn tô màu trong các dòng. Nếu bạn có kỷ luật, họ thường không phải là một yêu cầu. –