小编BB.*_*BB.的帖子

重构使用Builder模式或Telescoping构造函数模式

根据Effective Java 2ed Item 2

telescoping构造函数模式,其中您提供仅具有所需参数的构造函数,另一个具有单个可选参数,第三个具有两个可选参数,依此类推,最终在具有所有可选参数的构造函数中.

应用此模式的类的构造函数的示例借用于何时使用Builder模式?

代码集1a

Pizza(int size) { ... }        
Pizza(int size, boolean cheese) { ... }    
Pizza(int size, boolean cheese, boolean pepperoni) { ... }    
Pizza(int size, boolean cheese, boolean pepperoni, boolean bacon) { ... }
Run Code Online (Sandbox Code Playgroud)

size是必需参数.奶酪,意大利辣香肠和培根是可选参数.假设我想提供如下构造函数.

代码集1b

Pizza(int size) { ... }        
Pizza(int size, boolean cheese) { ... }    
Pizza(int size, boolean pepperoni) { ... }    
Pizza(int size, boolean cheese, boolean pepperoni, boolean bacon, int price, int) { ... …
Run Code Online (Sandbox Code Playgroud)

parameters refactoring constructor design-patterns

10
推荐指数
1
解决办法
1万
查看次数

如何在不运行此系统的情况下获取方法的调用者(用JAVA编写)

在java中,如何在不运行此系统的情况下获取方法的调用者.我的目的是找到一些方法的调用者(大约150种方法),并希望获得每种方法的所有调用者的名称.有可能吗?

有可能这样做(不是在Eclipse中使用调用层次结构或引用,因为我需要找到许多方法的调用者并将其记录到我的excel文件中.)?

非常感谢你.

java eclipse

9
推荐指数
1
解决办法
2万
查看次数

Java中构造函数中的长参数列表

可能重复:
重构具有太多(6+)参数的方法的最佳方法是什么?

如果构造函数有一个很长的参数列表,我们应该考虑它的坏样式并重构它吗?如果有,怎么样?

java refactoring coding-style

5
推荐指数
2
解决办法
6843
查看次数

Java:对象的默认值为null更好

第一种情况:有一个类有另一个类作为其数据成员.实例化这个类时,我们应该对数据成员做什么?

  • (A)在构造函数中:this.anotherClass = new AnotherClass();
  • (B)将其保留为null,无需实例化它.

第二种情况:有一个类有ArrayList作为其数据成员.当这个类被实例化时,我们应该对ArrayList做什么?

  • (A)在构造函数中:this.bulidingList = new ArrayList <Building>();
  • (B)将其保留为null,无需实例化它.

第三种情况:当我们创建在它的返回类型是一个方法集合,例如

public ArrayList <Building> getBuildingList(){/// Bah Bah Bah ..}

如果没有Building,我们应该返回空的ArrayList" new ArrayList <Building>() ""或null.

java null arraylist default-value

2
推荐指数
1
解决办法
4345
查看次数