这是一个一般的风格问题,哪个是最佳实践?哪个更可测试?假设你有课:
public class MyExecutor {
public MyExecutor(Model model) {
this.model = model
}
public void execute() {
// Do something with model;
}
public String toString() {
return model.toString();
}
}
使用上面的代码,假设我将我感兴趣的对象传递给构造函数,然后在唯一的方法中使用该对象。将上面的代码与下面的代码进行比较。
public class MyExecutor implements TheExecutor {
public MyExecutor() {
}
@Override
public void execute(Model model) {
// Do something with model;
}
}
这段代码的一个优点是,我可以定义一个接口方法,并且可以定义所需的参数。不是面向构造函数的方法。
使用这些方法,并且只有一个构造函数和一个方法,您更喜欢哪种方法,为什么?