(四)设计模式之建造者模式

一 建造者模式

参考文献:菜鸟教程建造者模式

1.1 今日故事会

本故事纯属瞎扯,不涉及任何宗教,政治,种族,文化等,如有冒犯,请联系作者删除!

故事背景:上帝考虑到人种多样性可能会促进人类社会发展,因此来到九重天找女娲,于是展开如下对话:

上帝:女神,近来可好?

女娲:放,别套近乎!

上帝:害,能帮我造几种不同的人类吗?

女娲:五毛特效和百元特效,你要哪种?

上帝:先来三种五毛特效的吧,我要黄种人,白种人和黑种人。黄种人要是黄皮肤,黑头发,国字脸,白种人要白皮肤,黄头发和锥子脸,还有黑种人我要黑皮肤,黑头发,随缘脸,三天之后我来拿模型。

上帝:钱嘛,好说,不差你的!

于是,女娲开始撸头发了,心想这小子不会过两天改需求吧,我要怎么滴才能自由造出不同的人呢,免得这小子坑我。嘶。。。。。。(撸头发,掉头发)

终于,女娲想到个办法,我给万能炉配个ipad,让他自己在ipad上,选择肤色,发色,脸型自由组合,他爱怎么瞎折腾都行。

二 实验

2.1 万能炉

public class HumanBuilder {

    private String skin;

    private String hair;

    private String face;

    public HumanBuilder() {
    }

    public static class Builder{
        private HumanBuilder humanBuilder = new HumanBuilder();

        public Builder skin(String skin){
            humanBuilder.skin = skin;
            return this;
        }

        public Builder hair(String hair){
            humanBuilder.hair = hair;
            return this;
        }

        public Builder face(String face){
            humanBuilder.face = face;
            return this;
        }

        public HumanBuilder build(){
            return humanBuilder;
        }
    }

    @Override
    public String toString() {
        return "HumanBuilder{" +
                "skin='" + skin + '\'' +
                ", hair='" + hair + '\'' +
                ", face='" + face + '\'' +
                '}';
    }
}

2.2 上帝

public class God {

    public static void main(String[] args) {
        HumanBuilder build = new HumanBuilder.Builder().skin("黄皮肤").hair("黑头发").face("国字脸").build();
        System.out.println(build.toString());
    }

}

三 框架中的设计模式

3.1 mybatis中的建造者模式

3.1.1 Environment类

3.1.2 ParameterMap类

3.1.3 SqlSessionFactory类

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值