根据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) 在java中,如何在不运行此系统的情况下获取方法的调用者.我的目的是找到一些方法的调用者(大约150种方法),并希望获得每种方法的所有调用者的名称.有可能吗?
有可能这样做(不是在Eclipse中使用调用层次结构或引用,因为我需要找到许多方法的调用者并将其记录到我的excel文件中.)?
非常感谢你.
可能重复:
重构具有太多(6+)参数的方法的最佳方法是什么?
如果构造函数有一个很长的参数列表,我们应该考虑它的坏样式并重构它吗?如果有,怎么样?
第一种情况:有一个类有另一个类作为其数据成员.实例化这个类时,我们应该对数据成员做什么?
第二种情况:有一个类有ArrayList作为其数据成员.当这个类被实例化时,我们应该对ArrayList做什么?
第三种情况:当我们创建在它的返回类型是一个方法集合,例如
public ArrayList <Building> getBuildingList(){/// Bah Bah Bah ..}
如果没有Building,我们应该返回空的ArrayList" new ArrayList <Building>() ""或null.
java ×3
refactoring ×2
arraylist ×1
coding-style ×1
constructor ×1
eclipse ×1
null ×1
parameters ×1