一、概述
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
二、代码
1.建造者类:负责管理创建的多种类型的对象
public interface Sender {
void send();
}
public class MailSender implements Sender{
@Override
public void send() {
// TODO Auto-generated method stub
System.out.println("发送了一封邮件");
}
}
public class SmsSender implements Sender{
@Override
public void send() {
// TODO Auto-generated method stub
System.out.println("发送了一条消息");
}
}
public class Builder {
public List
senders = new ArrayList<>();
public void createSmsBuilder(int count){
for(int i = 0;i < count;i++){
senders.add(new SmsSender());
}
}
public void createMailBuilder(int count){
for(int i = 0;i < count;i++){
senders.add(new MailSender());
}
}
}
2.测试类
public class Test {
public static void main(String[] args) {
Builder builder = new Builder();
builder.createMailBuilder(5);
builder.createSmsBuilder(5);
for(Sender sender :builder.senders){
sender.send();
}
}
}