WEB开发网
开发学院软件开发Java 使用 Google Web Toolkit 和 Eclipse Galileo 进行... 阅读

使用 Google Web Toolkit 和 Eclipse Galileo 进行高性能 Web 开发

 2009-12-13 00:00:00 来源:WEB开发网   
核心提示: 在面向对象的开发中,有一种实践很常见:抽象出一个可能拥有多个实现的接口并编写代码以使用该接口,使用 Google Web Toolkit 和 Eclipse Galileo 进行高性能 Web 开发(6),从而使其可以重复利用,这是另一种有用的工程抽象方法,根本没有任何修改,如果同时使用两个接口

在面向对象的开发中,有一种实践很常见:抽象出一个可能拥有多个实现的接口并编写代码以使用该接口,从而使其可以重复利用。这是另一种有用的工程抽象方法,但该方法增加了额外的查询和方法分配,损害了性能。让我们看看 GWT 编译器是如何提供帮助的。您可以使用 Eclipse 的重构工具从清单 3 中的 Person 类轻松提取一个接口。让我们调用一个 Thing,如清单 8 所示。


清单 8. 使用 Thing 接口重构
public interface Thing { 
  String getName(); 
} 
public class Person implements Thing { 
  final String firstName; 
  final String lastName; 
  public Person(String firstName, String lastName) { 
    this.firstName = firstName; 
    this.lastName = lastName; 
  } 
   
  public String getName(){ 
    return firstName + " " + lastName; 
  } 
} 

现在使用 Person 的客户端代码应该更改为使用 Thing 接口,如清单 9 所示。


清单 9. 重构的客户端代码
Thing user = new Person("GWT", "User"); 
nameField.setText(user.getName()); 

编译后的代码发生了哪些修改?我们需要付出性能代价吗?请查看清单 10。


清单 10. 重新编译了的重构代码
user = $Person(new Person(), 'GWT', 'User'); 
$setText_1(nameField, user.firstName + ' ' + user.lastName); 

可以看出,根本没有任何修改。如果同时使用两个接口实现,情况又会怎样呢?这种情况如清单 11 所示。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 Google Web

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接