然建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
特征:用户只需指定需要建造的类型就可以获得对象,建造过程及细节不需要了解。
适用场景
适用于创建对象需要很多步骤,但是步骤的顺序不一定固定。
如果一个对象有非常复杂的内部结构(很多属性)
把复杂对象的创建和使用分离。
示例:
创建一个课程类
@Data
public class Course {
private String name;
private String ppt;
private String video;
private String note;
}
创建一个builder对象构建课程对象,每个add方法都返回builder对象自己。提供一个builder方法返回课程对象。
public class CourseBuilder {
private Course course = new Course();
public CourseBuilder addName(String name){
course.setName(name);
return this;
}
public CourseBuilder addPpt(String ppt){
course.setPpt(ppt);
return this;
}
public CourseBuilder addVideo(String video){
course.setVideo(video);
return this;
}
public CourseBuilder addNote(String note){
course.setNote(note);