在Java上进行多个方法调用时是否遵循一些原则?
我了解Facade,但是在单一方法中,而不是服务方法,有时我们需要调用其他单一方法,但是这样做,我会在这个方法中打破这个,然后进行多次调用。例如:
private void doSomethingA(){
}
private void doSomethingB(){
}
private void doSomethingC(){
}
//Am I breaking some rules here? What is the best approach?
private void processSomething(){
doSomethingA();
doSomethingB();
doSomethingC();
}
答案 0 :(得分:3)
虽然您的语法不正确,但您所做的事情是完全可以接受的。将大型方法拆分为更小,更单一用途,更易读,更可测试的方法,并从另一种方法调用它们是一种很好的做法。
答案 1 :(得分:-1)
如果有大量进程或您经常使用相同的序列,则可以使用enum
将处理实现为序列。
public enum Engine {
A {
@Override
void doIt(Object to) {
// Do what you need to do.
}
},
B {
@Override
void doIt(Object to) {
// Do what you need to do.
}
},
C {
@Override
void doIt(Object to) {
// Do what you need to do.
}
};
abstract void doIt(Object to);
public void go(Object to) {
for (Engine e : Engine.values()) {
e.doIt(to);
}
}
}
这可以通过多种方式得到增强(这就是我喜欢它的原因)。您可以在Iterable
中对替代执行订单进行编码。您可以在一个位置添加,删除和重新排序流程。枚举的名称可以大大简化。还有更多。