建造者模式
原创
©著作权归作者所有:来自51CTO博客作者ives404的原创作品,请联系作者获取转载授权,否则将追究法律责任
建造者模式,又称生成器模式。建造者模式将复杂对象和这个对象的具体表示分离,使得相同的创建过程可以生成不同表示的对象。模板模式更多的是将具有相同执行过程的算法封装起来,使得相同的算法可以根据对象的不同产生一些不一样的地方,这与建造者模式的思维方式近乎一致。不过建造者模式讲究的是将相似对象的创建过程统一,根据具体对象的不同来具体修改。所以说建造者模式更多的是对象的创建,而且是拥有相同构造的对象。这有模板模式中可能存在差异的算法是不同的。
比如我们经常在游戏中需要对游戏人物进行绘制,每个角色都是不同的样子,但是绘制的过程却是相同的。这里我们发现每个对象的创建过程都是一样的,但是每个对象的具体细节却是不一样的。我们把这样情况描述为复杂对象的构造方式与对象的具体表现分离,是的具有相同构造的对象可以有不同的表示。
实例:
结果:
代码如下:
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() ;
}