建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。
![](https://img.haomeiwen.com/i5417107/52064908133cf58d.png)
完整代码结构:
//Actor 角色类:复杂产品
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();
//工厂方法,返回一个完整的游戏角色对象
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 {
//逐步构建复杂产品对象
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); //通过指挥者创建完整的建造者对象
String type = actor .getType();
}
}
网友评论