建造者模式

2017-11-02  本文已影响0人  猿日记

建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。

image.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();
     }
}
上一篇下一篇

猜你喜欢

热点阅读