Идеи по сокращению длины кода, размера JS (времени загрузки) в GWT, GXT, SmartGwt и т. Д. - PullRequest
3 голосов
/ 17 декабря 2010

Давайте проведем мозговой штурм на тему «Что мы можем сделать, чтобы уменьшить размер кода в GWT, GXT, SmartGWt и т. Д.?»

Например;Чтобы использовать кнопку;

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);

Для большего количества кнопок я думаю, что размер кода действительно показывает разницу.этот пример?Или у вас есть идея, как это?

Ответы [ 2 ]

2 голосов
/ 17 декабря 2010

Я думаю, создание вашего класса кнопок - это еще одно решение

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;
           ....
     }
}

Вы также можете создать с помощью Pattern Builder http://en.wikipedia.org/wiki/Builder_pattern, как этот

        new MyButton().setText("asd").setListener(l).setEnabled(false).senLength(343)..
 ..constructMyButton();
1 голос
/ 17 декабря 2010

Если вы разрабатываете приложения с помощью GXT, и язык вашего приложения отличается от английского. Вы можете определить локаль из приложения, но в этом случае компилятор генерирует один английский JS и один ваш языковой стандарт JS. Чтобы этого избежать и сократить время компиляции. Вы можете заменить содержимое сообщений локалей с com\extjs\gxt\ui\client\messages\XMessages.properties вместо использования com\extjs\gxt\ui\client\messages\XMessages_it.properties

...