美文网首页
建造者模式

建造者模式

作者: 猿日记 | 来源:发表于2017-11-02 21:46 被阅读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();
         }
    }
    

    相关文章

      网友评论

          本文标题:建造者模式

          本文链接:https://www.haomeiwen.com/subject/vfposxtx.html