美文网首页Android技术知识Android开发Android开发
Android常见设计模式—Builder模式

Android常见设计模式—Builder模式

作者: 大漠孤烟直_v | 来源:发表于2020-03-12 16:56 被阅读0次

Builder(建造者模式)

建造者模式:是将一个复杂的对象的构建与它的表示分离(同构建不同表示),使得同样的构建过程可以创建不同的表示。

将复杂的内部创建封装在内部,对于外部调用的人来说,只需要传入建造者和建造工具,对于内部是如何建造成成品的,调用者无需关心。

使用场景:
1、相同的方法,不同的执行顺序,产生不同的事件结果
2、对象比较复杂,参数比较多。

示例代码:

public class School {
    private final String teacher;
    private final String student;

    private final String flower;
    private final String grass;
    private final String library;


    public static class Builder {
        //必选参数
        private String teacher;
        private String student;
        //可选参数
        private String flower;
        private String grass;
        private String library;

        //通过builder模式,给对象添加属性;
        public Builder(String teacher, String student) {
            this.teacher = teacher;
            this.student = student;
        }

        public Builder flower(String flower) {
            this.flower = flower;
            return this;
        }

        public Builder grass(String grass) {
            this.grass = grass;
            return this;
        }

        public Builder library(String library) {
            this.library = library;
            return this;
        }

        //返回外部对象
        public School build() {
            return new School(this);
        }
    }

    private School(Builder builder) {
        this.teacher = builder.teacher;
        this.student = builder.student;
        this.flower = builder.flower;
        this.grass = builder.grass;
        this.library = builder.library;
    }
}
/**
 * 测试类
 */
public static void main(String[] args) {
    School school = new School.Builder("王老师", "好学生")
            .flower("玫瑰花")
            .grass("海草")
            .library("音乐书")
            .build();
}

AndroidBuilder模式也是常见的,最熟悉的是Dialog

使用传统的重叠构造器模式相比,使用builder模式的客户端代码装将更易于阅读和编写,构建器也比JavaBeans更加安全。

相关文章

网友评论

    本文标题:Android常见设计模式—Builder模式

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