java---什么是链式编程

在我们编写代码过程中,一定听说过许多编程说法:

如:大家熟悉的面向对象编程、面向切面编程、以及函数式编程、范式编程等等。

同时还有链式编程,接下来我们来聊一下链式编程

普通:

        1.维护性强;

        2.对方法返回的类型无要求;

        3.对程序员的业务要求适中;

链式;

        1.编程性强;

        2.可读性强;

        3.代码更简洁;

        4.对程序员的业务能力要求高;

        5.不太利于代码调试;

链式编程可以使得代码可读性高,链式编程的原理就是返回一个this对象,就是返回本身,达到链式效果,举个例子,下面是一个学生bean

public class StudentBean {
    private String name;
    private int age;
    
    public String getName() {
        return name;
    }
 
    public StudentBean setName(String name) {
        this.name = name;
        return this;
    }
 
    public int getAge() {
        return age;
    }
 
    public StudentBean setAge(int age) {
        this.age = age;
        return this;
    }
}
下面这段代码和传统的Bean区别就是我在set属性时候会返回一个this这样就达到了链式编程的效果:

public static void main(String[] args) {
        StudentBean studentBean = new StudentBean().setAge(22).setName("ly");
        
        System.out.println(studentBean.getAge());
        
        System.out.println(studentBean.getName());
    }
lombok其实已经提供该style,我们把这个bean改成lombok实现只需要加上一个@Accessors(chain = true)即可,如下:

java---什么是链式编程_第1张图片

这样代码简洁多了 ,而且实现了链式编程,那如何用lombok实现一个静态的链式编程呢,再回过头来看刚刚的StudentBean,很多时候,我们去写StudentBean这个bean的时候,他会有一些必输字段,比如StudentBean中的name字段,一般处理的方式是将name字段包装成一个构造方法,只有传入name这样的构造方法,才能创建一个StudentBean对象。

接上上边的静态构造方法和必传参数的构造方法,使用lombok将更改成如下写法(@RequiredArgsConstructor 和 @NonNull):
java---什么是链式编程_第2张图片

测试方法:

java---什么是链式编程_第3张图片 

这样不仅实现了链式编程,还实现了静态创建,那么怎么实现一个builder模式的链式Bean呢,build模式实现原理为在bean里面创建一个静态builder方法和一个静态内部Builder类,通过调用静态builder方法来创建Builder类,然后通过builder类中的build方法直接创建一个Bean,具体如下:

java---什么是链式编程_第4张图片

java---什么是链式编程_第5张图片 

测试方法:

 

这样就实现了一个builder模式的链式bean,其实用lombok就一个注解的事情,调用与上面同样:

java---什么是链式编程_第6张图片 

 

 

 

你可能感兴趣的:(java,开发语言,后端)