2009-02-16 31 views
8

Tôi đang tìm hiểu GWT và đã bắt đầu nhận được sự cố. Tôi đang ở điểm mà mã của tôi là nhận được một mess spaghetti vì vậy tôi sẽ trở lại và factoring bit hợp lý của nó ra như Composites. Vấn đề đầu tiên tôi gặp phải là sự hỗ trợ công cụ của tôi đã không cung cấp cho lớp Composite mới một phương thức initWidget(). Nó đã bao gồm một hàm tạo mặc định.
Trong thời gian này, tôi chỉ đơn giản là điền vào phương pháp initWidget() bị ghi đè của tôi với một cuộc gọi đến super(initWidget(w)) Dự án của tôi biên dịch và chạy như mong đợi, mặc dù tôi cảm thấy như thể tôi phải thiếu cái gì đó.Thực tiễn tốt nhất về GWT tổng hợp

Tôi nên ghi nhớ điều gì khi ghi đè init và điều gì sẽ xảy ra nếu tôi cần đặt trong hàm tạo. Có bất cứ điều gì khác mà tôi cần phải biết hoặc làm nó chỉ đun sôi xuống Java cũ thường xuyên sau này?

Làm rõ - Đã xảy ra với tôi rằng có thể có các câu trả lời khác nhau cho câu hỏi này tùy thuộc vào việc bạn định phát hành các lớp Composite như một phần của thư viện hay chỉ đơn giản là một phần của ứng dụng độc lập. Tôi đặc biệt không có ý định tại thời điểm này phát triển các thành phần hữu ích bên ngoài (chủ yếu là vì tôi rất xanh trong công nghệ đặc biệt này.)

Cảm ơn!

Trả lời

7

Tôi không chắc liệu tôi có hiểu bạn đang cố gắng làm gì không. Nhưng đối với tất cả các Composite của tôi đã viết tôi đã không bao giờ ghi đè phương pháp initWidget. Bởi vì composite tự nó không cần phải được khởi tạo với một constructor, tức là không cần phải gọi siêu() constructor của tôi về widget mở rộng hợp nhìn cái gì đó như:

public mywidget() { 
    SomePanel p = new SomePanel(); 
    .... 
    initWidget(p); 
} 

Là một thực hành tốt nhất, imo, chỉ có widget mở rộng Composite nên gọi đó là initWidget 'riêng'.

+0

Tôi nghĩ đây có lẽ là câu trả lời cho toàn bộ vấn đề của tôi xung quanh các tiện ích tùy chỉnh. Tôi cũng đã đi vào một tình huống mà các công cụ gui sẽ không hiển thị nhiều widget tùy chỉnh của tôi, rất có thể là cuz cả constructor của tôi cũng như các lời gọi init đều không chính xác. Tôi sẽ kiểm tra nó khi tôi về nhà ... thx –

2

"GWT Conference: Best Practices for Building Libraries" cung cấp một số mẹo. Bạn cũng nên xem xét nguồn GWT và tại nguồn của một trong các thư viện cho GWT (như gwt-ext)

[EDIT] Tôi vừa thấy một tùy chọn khác: suco. Từ mô tả:

Thư viện vi mô giúp duy trì mã khách hàng GWT của bạn sạch sẽ và mô-đun.

+0

Tôi cũng vậy, đã xóa nhận xét cũ ... –

Các vấn đề liên quan