假设我编写了以下方法:
public void submitForm1() {
open();
setField(1, "blah");
setField(3, "bla");
setField(4, "blah blah");
submit();
}
public void submitForm2() {
open();
setField(1, "blah");
checkBox(1 , true);
submit();
}
....
public void submitForm100() {
open();
setField(1, "bla");
setField(2, "bla bla");
setField(3, "blah");
setArea(1, "blah blah");
submit();
}
这些方法让我感觉自己在不断重复自己。我觉得应该这样写:
public void submitForm1() {
MyMethods.submitForm(
{SET_FIELD, 1, "blah"},
{SET_FIELD, 3, "bla"},
{SET_FIELD, 4, "blah blah"}
);
}
public void submitForm2() {
MyMethods.submitForm(
{SET_FIELD, 1, "blah"},
{CHECKBOX, 1, true}
);
}
....
public void submitForm100() {
MyMethods.submitForm(
{SET_FIELD, 1, "bla"},
{SET_FIELD, 2, "bla bla"},
{SET_FIELD, 3, "blah"},
{SET_AREA, 1, "blah blah"},
);
}
这样我就不必一遍又一遍地重复所有这些打开和提交方法。
有办法做到这一点吗?
最佳答案
例如,您可以使用“回调”。为此,请执行以下操作:
void doInSubmit(SubmitCallback callback)
{
open();
callback.call();
submit();
}
外面:
public void submitForm100()
{
doInSubmit(new SubmitCallback()
{
void call()
{
setField(1, "bla");
setField(2, "bla bla");
setField(3, "blah");
setArea(1, "blah blah");
}
})
}
关于java - 如何避免java中半重复的方法组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35626807/