建造者模式是一种创建型设计模式,用于解决对象的创建问题
现在有一个问题 如果一个对象有很多的属性,其中很多属性非必要,那我们怎么样优雅的创建这个对象?
那我们容易想到构造方法创建,但是由于很多属性是非必要的,所以我们要去书写非常多的构造方法,方法的数量是随着非必要属性的数量增加而指数级上升的,通过构造方法来实现不大现实,那如果我们通过setter方法创建的话,又不太优雅和容易漏字段,建造者模式就是用来处理这个问题的
建造者模式的核心思想就是将复杂对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示
说人话就是我们定义类时需要去内部定义一个静态建造者类,建造者类的字段和其外部类一样,然后必要字段必须在建造者构造时提供
public XXBuilder(String s) {
this.s = s;
}
非必要的就通过this实现链式调用
public XXBuilder t(String t) {
this.t =t;
return this; // 返回自己,才能继续调用其他方法
}
最后实现我们的构造方法
public XX build() {
// 这里可以检查参数是否合法
if (s== null) {
throw new IllegalArgumentException("s不能为null!");
}
return new XX(this); // 调用XX的私有构造器
}
最后我们可以使用@Builder来实现自动化建造者相关代码
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/970165.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!