频道栏目
首页 > 资讯 > 其他 > 正文

移动开发设计模式——建造者模式

17-09-27        来源:[db:作者]  
收藏   我要投稿

移动开发设计模式——建造者模式

建造者模式

基本结构

phone: 要创建的对象,拥有自己的基本成员变量和方法

public class Phone {
    private String mCpu;
    private String mRam;
    private String mScreen;

    public void setCpu(String cpu) {
        mCpu = cpu;
        System.out.println("使用"+cpu+"处理器");
    }

    public void setRam(String ram) {
        mRam = ram;
        System.out.println("拥有"+ram+"内存");
    }

    public void setScreen(String screen) {
        mScreen = screen;
        System.out.println("使用"+screen+"屏幕");
    }
}

builder: 抽象的建造者类,规定创建的条件

public abstract class Builder {
    public abstract void buildCpu(String cpuName);
    public abstract void buildScreen(String screenName);
    public abstract void bulidRam(String ramName);
    public abstract Phone creatPhone();
}

concreteBuilder: 具体的创建类,创建要创建的类的实例,并在对应的方法里传值

public class ConcreteBuilder extends Builder {
    private Phone mPhone;

    public ConcreteBuilder(){
        mPhone=new Phone();
    }
    @Override
    public void buildCpu(String cpuName) {
        mPhone.setCpu(cpuName);
    }

    @Override
    public void buildScreen(String screenName) {
        mPhone.setScreen(screenName);
    }

    @Override
    public void bulidRam(String ramName) {
        mPhone.setRam(ramName);
    }

    @Override
    public Phone creatPhone() {
        return mPhone;
    }
}

director: 指导创建建造者的类,

public class Diretor {
    private Builder mBuilder;
    public Diretor(Builder builder){
        mBuilder=builder;
    }
    public void creatBuilder(String cpu,String screen,String ram){
        mBuilder.buildCpu(cpu);
        mBuilder.buildScreen(screen);
        mBuilder.bulidRam(ram);
        mBuilder.creatPhone();
    }
}

main方法测试:

//建造者模式测试方法
    private  static void testBuilder(){
        ConcreteBuilder concreteBuilder=new ConcreteBuilder();
        Diretor diretor=new Diretor(concreteBuilder);
        diretor.creatBuilder("联发科","大猩猩玻璃","8G");
    }

输出结果:

使用联发科处理器
使用大猩猩玻璃屏幕
拥有8G内存

个人总结

这是标准的建造者模式,在Android中使用的建造者模式是在此基础上改进,更加灵活。

相关TAG标签
上一篇:LinuxStudyNote:Linux常用命令
下一篇:mocha编写测试常用命令
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站