工厂模式是创建单个对象,构造者模式是创建复合对象的。
我们在工厂模式基础上,我们来完成改造的过程。
package com.factory;
public interface IAction {
public void doSomeThings();
}
package com.factory;
public class Email implements IAction {
@Override
public void doSomeThings() {
System.out.println("发邮件");
}
}
package com.factory;
public class Sms implements IAction {
@Override
public void doSomeThings() {
System.out.println("发短信");
}
}
构造者:需要构造复合对象
package com.factory;
import java.util.ArrayList;
import java.util.List;
public class Builder {
private List<IAction> list = new ArrayList<IAction>();
public void produceEmail(int count) {
for (int i = 0; i < count; i++)
list.add(new Email());
}
public void produceSms(int count) {
for (int i = 0; i < count; i++)
list.add(new Sms());
}
}
客户端调用的时候,创建构造者后执行里面具体方法就可以生成复合对象了。