建造者模式

建造者模式,又称生成器模式。建造者模式将复杂对象和这个对象的具体表示分离,使得相同的创建过程可以生成不同表示的对象。模板模式更多的是将具有相同执行过程的算法封装起来,使得相同的算法可以根据对象的不同产生一些不一样的地方,这与建造者模式的思维方式近乎一致。不过建造者模式讲究的是将相似对象的创建过程统一,根据具体对象的不同来具体修改。所以说建造者模式更多的是对象的创建,而且是拥有相同构造的对象。这有模板模式中可能存在差异的算法是不同的。

比如我们经常在游戏中需要对游戏人物进行绘制,每个角色都是不同的样子,但是绘制的过程却是相同的。这里我们发现每个对象的创建过程都是一样的,但是每个对象的具体细节却是不一样的。我们把这样情况描述为复杂对象的构造方式与对象的具体表现分离,是的具有相同构造的对象可以有不同的表示。

实例:

image

结果:

image

代码如下:

public class test
{

    public static void main(String args[])
    {
        User u=new User();
        u.show();
    }   

}
class User {
    public Builder builder1;
    void show()
    {
        builder1=new drinkBuilder();
        builder1.create();
        builder1.show();
    }
}
class drink {
    public String name;
    public drink(String name)
    {
        this.name=name;
    }
}
class drinkBuilder extends Builder {
    public drink drink1;
    public void create() {
        drink1=new drink("drink");
    }
    public void show() {
        System.out.println(drink1.name);
    }
}
abstract class Builder {
    abstract public void create() ;
    abstract public void show() ;
}

联系我:renhanlinbsl@163.com

2016-8-7

1:54

posted @ 2016-08-07 01:56  Hey,Coder!  阅读(240)  评论(0编辑  收藏  举报