建造者模式:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離蠢涝,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示忍法。建造者模式是一種對(duì)象創(chuàng)建型模式矗漾。
image.png
完整代碼結(jié)構(gòu):
//Actor 角色類:復(fù)雜產(chǎn)品
class Actor {
private String type; //角色類型
private String sex禾蚕; //性別
private String face; //臉型
.....set get...
}
//角色建造器:抽象建造者
abstract class ActorBuilder {
protected Actor actor = new Actor();
public abstract void buildType();
public abstract void buildSex();
public abstract void buildFace();
//工廠方法药薯,返回一個(gè)完整的游戲角色對(duì)象
public Actor createActor() {
return actor;
}
}
//英雄角色建造器:具體建造者
class HeroBuilder extends ActorBuilder {
public void buildType() {
actor.setType("英雄");
}
public void buildSex() {
actor.setSex("男");
}
public void buildFace() {
actor.setFace("英俊");
}
}
//游戲角色穿件控制器:指揮者
class ActorController {
//逐步構(gòu)建復(fù)雜產(chǎn)品對(duì)象
public Actor construct(ActorBuilder ab) {
Actor actor;
ab.buildType();
ab.buildSex();
ab.buildFace();
actor = ab.createActor;
return actor;
}
}
客戶端
class Clent {
public static void main(String args[]) {
ActorBuilder ab;
ab =new HeroBuilder();
ActorController ac = new ActorController();
Actor actor;
actor = ac.construct(ab); //通過指揮者創(chuàng)建完整的建造者對(duì)象
String type = actor .getType();
}
}