当前位置: 首页 > 图灵资讯 > 技术篇> Dica Java:函数式接口 #

Dica Java:函数式接口 #

来源:图灵教育
时间:2024-09-29 20:25:48

dica java:函数式接口 #

在 java 在开发应用程序时,在不同的位置对同一个应用程序 bean 依赖注入是很常见的,通常是 bean 依赖注入之间的关系,如下所示:

@service
@requiredargsconstructor
public class personupdater {

    private final personvalidator validator;
    private final documentservice documentservice; //outras utilizações no fluxo de atualização

    public person toupdate(final person person) {
        validator.validate(person);

        //...fluxo de atualização de pessoa

        return person;
    }
}

@component
@requiredargsconstructor
public class personvalidator {

    private final documentservice documentservice;

    public void validate(final person person) {
        if (person.isadult() && person.ismale()) {
            final var documents = documentservice.getmilitarydocuments(person.getid());

            //validações necessárias
        }
    }
}

bean documentservice 被注入到 personupdaterpersonvalidator 中。在 personupdater 中,bean 可用于其他更新过程,但在 personvalidator 中,bean 将only 什么时候用来搜索军事文件,是法定年龄男性的更新。结果相同的可能性如下:

@service
@requiredargsconstructor
public class personupdater {

    private final personvalidator validator;
    private final documentservice documentservice; //outras utilizações no fluxo de atualização

    public person toupdate(final person person) {
        validator.validate(person, () -> documentservice.getmilitarydocuments(person.getid()));

        //...fluxo de atualização de pessoa

        return person;
    }
}

@Component
@RequiredArgsConstructor
public class PersonValidator {

    public void validate(final Person person,
                         final Supplier<list>&gt; documentsSupplier) {
        if (person.isAdult() &amp;&amp; person.isMale()) {
            final var documents = documentsSupplier.get();

            //validações necessárias
        }
    }
}
</list>

通过函数接口,出现了一系列使用java应用程序行为的选项!它们通过方法参数(如示例)和某些类别的属性使用更灵活。

除了在一个地方完成依赖注入外,我们还有:

  • 减少验证器耦合
  • 提高方法的灵活性

以上是Dica Java:函数式接口 #详情请关注图灵教育的其他相关文章!