1. 单例模式
待补充
2.工厂模式
待补充
复杂对象的构造与其表示分离,使得同一个构造过程可以创建不同的表示,这样的设计模式称为构建器模式。
3.2 角色定义 构建器模式的角色定义,构建器模式的角色定义中有以下四种角色(抽象构建器): 为每个创建产品对象的组件指定一个抽象接口。 (具体构建器):实现的接口用于构建和组装产品的各个部分,定义和指定它创建的表示,并提供用于检索产品的接口。 (具体构建器):使用接口构造对象。 (产品类):表示正在构造的复杂对象。 创建产品的内部表示并定义其组装过程,包括定义组成部件的类,以及用于将这些部件组装成最终产品的接口。 3.3 代码用例
package com.designmode.duilder;
public class Student {
//学生Id
private Integer id;
//学生姓名
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.designmode.duilder;
public class Builder {
private Student student;
public Builder(Student student){
this.student = student;
}
public void show(){
System.out.println(student.getName());
}
public static class Director{
private Student student;
public Director(){
student = new Student();
}
public Director setId(){
student.setId(1);
return this;
}
public Director setName(String name){
student.setName(name);
return this;
}
public Builder create(){
return new Builder(student);
}
}
}
package com.designmode.duilder;
public class MyView {
public static void main(String[] args) {
Builder builder = new Builder.Director()
.setId().setName("张三").create();
builder.show();
}
}
至于建造者模式,主要是将复杂对象的构造和表示分离,使得同一个构造过程可以创建不同的表示。 适用于这些产品对象的内部结构更加复杂。
建造者模式将复杂产品的构建过程封装并分解为不同的方法,使得创建过程变得非常清晰,让我们能够更精确地控制复杂产品对象的创建过程。 同时,它隔离了复杂产品对象的创建和使用,使得同一个创建过程可以创建不同的产品。 但如果某个产品的内部结构过于复杂,整个系统就会变得非常庞大,不利于控制。 同时,如果几个产品之间存在较大差异,则构建器模型不适用。 毕竟,具有相同点大小的两种产品并不多,因此其使用受到限制。