【java_设计模式】建造者模式应用场景 对生成对象进行链式配置
好处:按需配置对象,灵活修改默认配置,比构造方法创建对象更直观。 [Java] 纯文本查看 复制代码 public static void init() {
if (okHttpClient == null) {
OkHttpClient.Builder builder = new OkHttpClient.Builder()
.connectTimeout(5000, TimeUnit.MILLISECONDS)
.connectTimeout(5000, TimeUnit.MILLISECONDS)
.writeTimeout(5000, TimeUnit.MILLISECONDS);
okHttpClient = builder.build();
}
} 实现过程1.创建目标对象Course
2.创建目标对象的【建造者】内部类
3.内部类拥有Course的同名成员变量,并提供build()方法返回Course对象,这里直接使用构造方法构造。
[Java] 纯文本查看 复制代码 // 内部类处理应用层传入的参数
public static class CourseBuilder{
private String courseName;
private String coursePPT;
// build()返回Course,用作链式调用的最后一步
public Course build() {
// 需要建立一个参数为CourseBudiler的构造方法
return new Course(this);
}
//
public CourseBuilder buildCourseName(String courseName) {
this.courseName = courseName;
return this;
}
public CourseBuilder buildCoursePPT(String coursePPT) {
this.coursePPT = coursePPT;
return this;
}
}
[Java] 纯文本查看 复制代码 // 应用层.build()后调用该构造方法
public Course(CourseBuilder courseBuilder) {
this.courseName = courseBuilder.courseName;
this.coursePPT = courseBuilder.coursePPT;
}
--------------------- 作者:Ch.yang 来源:CSDN 原文:https://blog.csdn.net/chenghan_yang/article/details/90411573 版权声明:本文为博主原创文章,转载请附上博文链接!
|