23种设计模式学习之建造者模式

声明接口

public interface Animal {
    void run();
}

 实现类一

public class Bird implements Animal {
    public void run() {
        System.out.println("飞着跑");
    }
}

 实现类二

public class Worm implements Animal {
    public void run() {
        System.out.println("趴着跑");
    }
}

 建造者类

public class Builder {
    private List<Animal>list=new ArrayList<>();
    public List<Animal> createWorm(Integer count){
        for (int i=0;i<count;i++){
            list.add(new Worm());
        }
        return list;
    }
    public List<Animal> createBird(Integer count){
        for (int i=0;i<count;i++){
            list.add(new Bird());
        }
        return list;
    }
}

 实例

public class Demo {
    public static void main(String[] args) {
        Builder builder=new Builder();
        List<Animal> bird = builder.createBird(2);
    }
}

 建造者模式将很多功能集成到一个类里,这个类可以创造出比较复杂的东西。所以与工程模式的区别就是:工厂模式关注的是创建单个产品,

而建造者模式则关注创建符合对象,多个部分。因此,是选择工厂模式还是建造者模式,依实际情况而定

posted @ 2018-01-11 16:15  我_会飞的鱼  阅读(166)  评论(0编辑  收藏  举报