删除重复

sar*_*Fly 5 java

我有一个类包含10个方法,除了一个键事件之外,它们几乎完成相同的操作.下面给出两个例子:


Public String ATypeOperation(String pin, String amount){
    doSomething();
    doMoreStuff();
    requestBuilder.buildATypeRequest(pin, amount);
    doAfterStuff();
}



Public String BTypeOperation(String name, String sex, String age){
    doSomething();
    doMoreStuff();
    requestBuilder.buildBTypeRequest(name, sex, age);
    doAfterStuff();
}

从上面的方法可以看出,它们与调用requestBuilder提供的不同方法类似.其余的8也是类似的.这里有很多重复的代码.我觉得有更好的方法来实现这一点,但不知道如何实现.任何想法和建议表示赞赏.

谢谢,莎拉

Boz*_*zho 5

使用类似的东西RequestBuilder,接受所有这些参数:

public RequestBuilder {
    // setters and getters for all properties

    public Request build() {
         doStuff();
         Request request = new Request(this);
         doAfterStuff();
         return request;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后

new RequestBuilder().setAge(age).setName(name).build();
Run Code Online (Sandbox Code Playgroud)