Java设计模式之创建者模式简介
Java的创建者模式与工厂模式有点类似,不过关注点不同。工厂模式往往只关心你要的是什么,而不关心这个东西的具体细节是什么。相对而言创建模式则是关心这个东西的具体细节的创建。拿创建人物来说,我们关心的不仅是创建一个人物,还要关心他的性别,肤色和名字,则可以使用创建者模式。
程序实例如下所示:
packagebuilder;
/**
*
*DOC种族角色
*
*/
publicclassRace{
privateStringname;//名字
privateStringskinColor;//肤色
privateStringsex;//性别
publicStringgetName(){
returnthis.name;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetSkinColor(){
returnthis.skinColor;
}
publicvoidsetSkinColor(StringskinColor){
this.skinColor=skinColor;
}
publicStringgetSex(){
returnthis.sex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;
}
}
packagebuilder;
/**
*
*DOC我们关心的不仅仅是创建一个人物,还要关心其特征的创建
*
*/
publicclassRaceBuilder{
privateRacerace;
/**
*DOC创建一个种族
*
*@return
*/
publicRaceBuilderbuilder(){
this.race=newRace();
returnthis;
}
/**
*DOC取名字
*
*@return
*/
publicRaceBuildersetName(Stringname){
this.race.setName(name);
returnthis;
}
/**
*DOC选择性别
*
*@return
*/
publicRaceBuildersetSex(Stringsex){
this.race.setSex(sex);
returnthis;
}
/**
*DOC选择肤色
*
*@return
*/
publicRaceBuildersetSkinColor(StringskinColor){
this.race.setSkinColor(skinColor);
returnthis;
}
/**
*
*DOC返回这个创建好的种族
*
*@return
*/
publicRacecreate(){
returnthis.race;
}
}
测试类如下:
packagebuilder;
publicclassMain{
publicstaticvoidmain(String[]args){
Racerace=newRaceBuilder().builder().setName("张三").setSex("男").setSkinColor("白色").create();
}
}热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短