gpt4 book ai didi

java - 创建Factory来创建领域对象的正确方法

转载 作者:行者123 更新时间:2023-11-30 02:35:05 25 4
gpt4 key购买 nike

以下是我的服务层的代码

@Override
public Boolean saveTransportation(SaveTransportationCommand addServiceCommand) {
return getServiceAgreementDao().saveTransportation((List<Transportation>)ServiceAgreementFactory.get(addServiceCommand));
}

我正在尝试从命令对象创建域对象,我可以在工厂中从命令进行验证并设置值吗?我的方法是否正确,或者我应该使用工厂仅创建对象。

最佳答案

工厂用于创建对象。在我看来,在创建对象之前在工厂方法中进行验证和设置值并不是犯罪。如果您太关心工厂做这些事情(如果您希望工厂松散耦合),您可以拥有一个 Validator 接口(interface)并将其作为参数传递给 Factory。在 get 方法中,您首先进行验证。如果验证返回 true,则实例化该对象,否则抛出异常。

public interface Validator {
boolean validate(SaveTransportationCommand command);
}

修改 ServiceAgreementFactory.get() 以同时接收 Validator

public class ServiceAgreementFactory {

List<Transportation> get(SaveTransportationCommand command, Validator validator) {
if(!validator.validate(command)) {
// throw Exception
}
}
}

关于java - 创建Factory来创建领域对象的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43303211/

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