美文网首页
建造者模式实战

建造者模式实战

作者: 奋斗的韭菜汪 | 来源:发表于2020-06-16 08:06 被阅读0次

适用场景:适用于创建对象需要很多步骤,但是步骤的顺序不一定固定。如果一个对象有非常复杂的内部结构(很多属性),把复杂对象的创建和使用分离

public abstract class AbstractCourseBuilder {
    public abstract AbstractCourseBuilder baseCourseBuilder(String name, String video, String ppt);
    public abstract AbstractCourseBuilder specialCourseBuilder(String name);
    public abstract Course builder();

}
public class CourseBuilder extends AbstractCourseBuilder {
    Course course = new Course();
    @Override
    public CourseBuilder baseCourseBuilder(String name, String video, String ppt) {
        course.setName(name);
        course.setVideo(video);
        course.setPpt(ppt);
        return this;
    }
    @Override
    public CourseBuilder specialCourseBuilder(String name) {
        course.setName(name);
        return this;
    }
    @Override
    public Course builder() {
        return course;
    }
}

public class Course {
    private String ppt;
    private String name;
    private String video;

    public String getPpt() {
        return ppt;
    }
    public void setPpt(String ppt) {
        this.ppt = ppt;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getVideo() {
        return video;
    }
    public void setVideo(String video) {
        this.video = video;
    }
    @Override
    public String toString() {
        return "Course{" +
                "ppt='" + ppt + '\'' +
                ", name='" + name + '\'' +
                ", video='" + video + '\'' +
                '}';
    }
}
public class BuilderTest {
    public static void main(String[] args) {
        AbstractCourseBuilder builder = new CourseBuilder()
                .baseCourseBuilder("Zhangsan", "111", "222")
                .specialCourseBuilder("lisi");
        System.out.println(builder.builder());

    }
}

相关文章

  • PHP完整实战23种设计模式

    前言 设计模式是面向对象的最佳实践 实战 PHP实战创建型模式 单例模式 工厂模式 抽象工厂模式 原型模式 建造者...

  • PHP 完整实战23种设计模式

    PHP实战创建型模式 单例模式 工厂模式 抽象工厂模式 原型模式 建造者模式 PHP实战结构型模式 桥接模式 享元...

  • 建造者模式实战

    适用场景:适用于创建对象需要很多步骤,但是步骤的顺序不一定固定。如果一个对象有非常复杂的内部结构(很多属性),把复...

  • Builder Pattern in Java

    建造者模式:建造者模式定义建造者模式应用场景实现案例Jdk中的建造者模式建造者模式的优点建造者模式的缺点 建造者模...

  • 设计模式实战 - 建造者模式

    1 定义与类型 2 适用场景 3 优点 4 缺点 5 与工厂模式的区别 注重方法调用顺序 注重创建产品,不关心顺...

  • 设计模式(4) 建造者模式

    什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与...

  • 建造者模式(部件构造)

    目录 建造者模式的理念 从 POJO 到建造者模式的思考 怎么来实现建造者模式 建造者模式在Android源码中的...

  • 【设计模式】之建造者Builder模式

    建造者模式 什么是建造者模式? 建造者模式属于创建型模式的一员,可以控制对象的实例化过程。建造者模式简化了复杂对象...

  • 建造者模式

    一、建造者模式介绍 二、建造者模式代码实例

  • 建造者模式

    建造者模式 首先,建造者模式的封装性很好。使用建造者模式可以有效的封装变化,在使用建造者模式的场景中,一般产品类和...

网友评论

      本文标题:建造者模式实战

      本文链接:https://www.haomeiwen.com/subject/xtflxktx.html