شاید برای کسایی که تازه کار با GWT رو شروع کردن این سوال پیش بیاد که بهترین روش برای تولید یک کامپوننت رابط کاربری (GUI) جدید در GWT چیست؟
در این مطلب (و مطالب آینده) به ذکر چند نکته برجسته در این باره می پردازیم:
  1. همیشه composition (ترکیب) را به وراثت ارجحیت دهید. همانطور که در تکه کدهای زیر مشاهده می کنید ، در تکه کد اول بمنظور تولید کامپوننت OverExtendedWidget که خصوصیات و رفتارهایی شبیه HorizontalPanel دارد ، بصورت مستقیم کلاس OverExtendedWidget از کلاس HorizontalPanelارث برده است. با این روش شما با جزئیات پیاده سازی HorizontalPanel درگیر می شوید و در صورتی که بخواهید برای توسعه قابلیت های کامپوننت خود (OverExtendedWidget ) یکی از متدهای HorizontalPanel را override کنید ممکن است این کار به عملیات درونی HorizontalPanel آسیب برساند و در نهایت عملیات کلی کامپوننت شما را مختل کند. اما با استفاده از تکه کد دوم که روش پیشنهادی GWT است شما با جزئیات پیاده سازی HorizontalPanel درگیر نمی شوید و در عین حال به راحتی می توانید از متدهای public کلاس HorizontalPanel در کامپوننت خود استفاده کنید و درکنار این ها می توانید بدون نگرانی از تداخل ، قابلیت های جدید به کامپوننت خود اضافه کنید.
تکه کد اول:


public class OverExtendedWidget extends HorizontalPanel {

public OverExtendedWidget() {

//...
}
}


تکه کد دوم:


class ConservativeWidget extends Composite {

private final HorizontalPanel panel;

public ConservativeWidget() {
panel =
new HorizontalPanel();
initWidget(panel);

// ...
}
}



ادامه دارد (قسمت2).
شاد باشید.