2010-12-17 1 views
3

「GWT、GXT、SmartGWtなどでコードサイズを小さくするにはどうすればよいですか?GWT、GXT、SmartGwtなどでのコード長、JSサイズ(読み込み時間)の削減に関するアイデア

例:ボタンを使用するには

Button b = new Button(); 
b.setText("Ok"); 
b.setListener(this); 
b.setEnabled(false); 

Button b2 = new Button(); 
b2.setText("Ok2"); 
b2.setListener(this); 
b2.setEnabled(false); 

しかし、ボタンを作成するための工場のようなパターンがあります。

public static createButton(String name, Listener listener, boolean enable){ 
    Button b = new Button(); 
    b.setText("Ok"); 
    b.setListener(this); 
    b.setEnabled(false); 
} 

Button b = createButton("ok",this, false); 
Button b2 = createButton("ok2",this, false); 

もっと多くのボタンについては、コードサイズに実際に違いがあると思いますが、この例についてどう思いますか?それともあなたのようなアイデアをお持ちですか?私はあなたのボタンクラスを作成すると思います

答えて

1

のようなBuilderパターンhttp://en.wikipedia.org/wiki/Builder_patternで作成することができ、別の解決策

public class MyButton extends Button { 
    private String text; 
    private Listener l; 
    private boolean enabled; 
    ... 
    ... 
    ... 

    public MyButton (String text, Listener l, boolean enable) { 
      this.text = text; 
      .... 
    } 
} 

であるあなたは、GXTでのaplicationsを開発している、そしてアプリケーションの言語がある場合英語とは違うアプリケーションからロケールを定義することはできますが、その場合、コンパイラは1つの英語のJSと1つのロケールJSを生成します。これを避け、コンパイル時間を短縮する。あなたのロケールメッセージの内容は、

+0

ええ、これは速い開発のための良いトリックです:) –

2

あなたはまた、その

 new MyButton().setText("asd").setListener(l).setEnabled(false).senLength(343).. 
..constructMyButton(); 
+1

の代わりにcom\extjs\gxt\ui\client\messages\XMessages.propertiesから置き換えることができます。はい、私はMyButtonクラスにcreateButtonメソッドを置き、プライベートクラスコンストラクタを定義しています。ウィジェットを拡張して独自のウィジェットを作成すると、利便性が向上します。必要に応じてメソッドをオーバーライドするので、開発されたアプリケーション全体にエフェクトが適用されます –

+0

何を期待していますか?どんな魔法? –

+0

私は何かを期待しています。他のソリューションについて知りたいだけです。私はあなたの解決策を読んで、自分の使い方を書いています。あなたの答えから何を期待していますか? –

関連する問題