电商网站建设与运营方向,娄底市建设局网站,仓库系统erp好学吗,中科网站建设建造者模式 Builder Pattern 属于创建型模式是将一个复杂对象的构建与它的标识分离#xff0c;使得同样的构建过程可以创建不同的表示关键点#xff1a;用户只需要指定需要建造的类型就可以获得对象#xff0c;建造过程及细节不需要了解 实现 demo
需要构建的对象
Data
pu…建造者模式 Builder Pattern 属于创建型模式是将一个复杂对象的构建与它的标识分离使得同样的构建过程可以创建不同的表示关键点用户只需要指定需要建造的类型就可以获得对象建造过程及细节不需要了解 实现 demo
需要构建的对象
Data
public class Course {private String name;private String ppt;private String video;private String note;private String homework;
} 构造者
public class CourseBuilder {private Course course new Course();public CourseBuilder name(String name) {course.setName(name);return this;}public CourseBuilder ppt(String ppt) {course.setPpt(ppt);return this;}public CourseBuilder video(String video) {course.setVideo(video);return this;}public CourseBuilder note(String note) {course.setNote(note);return this;}public CourseBuilder homework(String homework) {course.setHomework(homework);return this;}static CourseBuilder builder(){return new CourseBuilder();}public Course build() {return course;}}测试及结果
public class Test {public static void main(String[] args) {Course course CourseBuilder.builder().name(name).ppt(ppt).video(video).note(note).homework(homework).build();System.out.println(course);}
}在源码中的应用 StringBuilder Mybatis-Plus Spring
https://www.bilibili.com/video/BV1nZ4y1i7tn?p11
总结
优点
封装性好创建与使用分离扩展性好建造类之间独立一定程度上解耦
建造者和工厂模式的区别
工厂模式只需要把对象创建出来而建造者模式需要注意创建需要哪些部件组成建造者模式根据建造过程的不一样最终的对象部件组成也不一样