千家信息网

java设计模式中建造者的定义及代码演示

发表于:2024-10-16 作者:千家信息网编辑
千家信息网最后更新 2024年10月16日,本篇内容主要讲解"java设计模式中建造者的定义及代码演示",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java设计模式中建造者的定义及代码演示"吧!1、
千家信息网最后更新 2024年10月16日java设计模式中建造者的定义及代码演示

本篇内容主要讲解"java设计模式中建造者的定义及代码演示",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java设计模式中建造者的定义及代码演示"吧!

1、建造者定义

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。用户只需要指定需要创建的类型就可以得到它们,建造过程及细节不需要知道。适用场景:1) 如果一个对象具有非常复杂的内部结构(很多属性)2) 想把复杂对象的创建和使用分离优点:1) 封装性好,创建和使用分离2) 扩展性好、建造类之间独立,一定程度上解耦缺点:1) 产生多余的Builder对象2) 产品内部发生变化,建造者都要修改,成本较大

2、代码演示

public class Course {    private String courseName;    private String coursePPT;    private String courseVideo;    private String courseArticle;    private String courseQA;    public Course(CourseBuilder courseBuilder) {        this.courseName = courseBuilder.courseName;        this.coursePPT = courseBuilder.coursePPT;        this.courseVideo = courseBuilder.courseVideo;        this.courseArticle = courseBuilder.courseArticle;        this.courseQA = courseBuilder.courseQA;    }    public static class CourseBuilder{        private String courseName;        private String coursePPT;        private String courseVideo;        private String courseArticle;        private String courseQA;        public CourseBuilder buildCourseName(String courseName){            this.courseName = courseName;            return this;        }        public CourseBuilder buildCoursePPT(String coursePPT) {            this.coursePPT = coursePPT;            return this;        }        public CourseBuilder buildCourseVideo(String courseVideo) {            this.courseVideo = courseVideo;            return this;        }        public CourseBuilder buildCourseArticle(String courseArticle) {            this.courseArticle = courseArticle;            return this;        }        public CourseBuilder buildCourseQA(String courseQA) {            this.courseQA = courseQA;            return this;        }        public Course build(){            return new Course(this);        }    }}
public class Test {    public static void main(String[] args) {        Course course = new Course.CourseBuilder()                                  .buildCourseName("Java设计模式精讲")                                  .buildCoursePPT("Java设计模式精讲PPT")                                  .buildCourseVideo("Java设计模式精讲视频").build();        System.out.println(course);        Set set = ImmutableSet.builder().add("a").add("b").build();        System.out.println(set);    }}

到此,相信大家对"java设计模式中建造者的定义及代码演示"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0