私は GWT アプリに多くのフォームを持っています。各フォームは、クライアントがプログラムのアイコンをクリックしたときに読み込まれるだけかもしれませんが、コードのどこでも各クラスでいくつかの静的メンバーを使用しました。
大量の初期化コードのダウンロードを避けるために、コードを次のように分割しました。
public class baseForm
{
public static final int id = 0;
...
};
public class form1 extends baseForm
{
public static final int id = 1;
...
};
public class form2 extends baseForm
{
public static final int id = 2;
...
};
public class myModule extends SmartGwtEntryPoint {
@Override
public void onModuleLoad() {
if(some_condition == form1.id)
{
GWT.runAsync(new RunAsyncCallback() {
@Override
public void onFailure(Throwable caught) {
LogUtil.logException(caught);
}
@Override
public void onSuccess() {
new form1().show();
}
});
}
else
{
GWT.runAsync(new RunAsyncCallback() {
@Override
public void onFailure(Throwable caught) {
LogUtil.logException(caught);
}
@Override
public void onSuccess() {
new form2().show();
}
});
}
}
};
初期条件に従ってフォーム1とフォーム2の非静的コンテンツをロードするのは正しい解決策ですか?
静的メンバーとコンテンツはどうですか?
そして、ベースフォームはどうなりますか?ベースコードは、最初のフォームがロードされたときに一度だけロードされますか、それとも両方にロードされますか?