gpt4 book ai didi

java - 使用 lambda 的类似函数的设计模式

转载 作者:行者123 更新时间:2023-12-03 01:27:51 25 4
gpt4 key购买 nike

我正在尝试找出一种方法或模式来简化我的服务类并使其非常可调整。我的目标是使用 lambda 或谓词来访问 Service 类中的方法。

class Client {
@RequestLine("something/a")
public A fetchA() {}

@RequestLine("something/b")
public B fetchB() {}

//... lots of similar methods

@RequestLine("something/z")
public Z fetchZ() {}
}

class Service {

Client client;

public void fixA(){
client.fetchA();
method();
}

public void fixB(){
client.fetchB();
method();
}

// ... lots of similar methods

public void fixZ(){
client.fetchZ();
method();
}

void method() {}

}

所以我的观点是,我如何更改它,以便它使用 lambda 或其他东西,使我的 Service 类具有“修复”方法之一,但它会知道我需要从客户端获取什么。

如果这个问题很糟糕并且不符合这里的规则,那么请为我指出正确的方向,因为我迷路了。

最佳答案

我猜你想要的是

class Service {

private Client client;

public void fix(Consumer<Client> consumer){
consumer.accept(client);
method();
}

private void method() {}
}

您可以使用以下方式调用

service.fix(Client::fetchB);

关于java - 使用 lambda 的类似函数的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52302588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com