美文网首页安卓开发博客
Builder Pattern - 构建者模式 - java 实

Builder Pattern - 构建者模式 - java 实

作者: thesam | 来源:发表于2018-07-21 03:36 被阅读6次

最近工作中需要写个小程序来填充邮件的内容,由于邮件内容需要支持表格等样式,为了避免直接拼写纯 HTML 代码,所以自己写了个 HtmlWrapper.java 对拼接 HTML 的过程进行包装。以便减少拼装过程中的代码冗余。于是便有了个分享 Builder 模式的想法。

对于 构建者模式 的使用场景,以及优缺点等说明,请参考 菜鸟教程|建造者模式 ,这边文章里面已经说明的非常详细和清楚了。

HtmlWrapper.javaBuilder 实现:

public class HtmlWrapper {
    private String tag;
    private String content;
    private String attrsInTag;

    // We don't want client side to initialize a `HtmlWrapper`, so we make the construct method as `private`
    private HtmlWrapper(Builder builder) {
        this.tag = builder.getTag();
        this.content = builder.getContent();
        this.attrsInTag = builder.getAttrsInTag();
    }

    // `Builder` is a common name in Builder Pattern, you can give a name what ever you want, but `Builder` is the best
    public static class Builder {
        private String tag;
        private String content;
        private String attrsInTag;

        private String getTag() {
            return tag;
        }

        public Builder setTag(String tag) {
            this.tag = tag;
            return this;
        }

        private String getContent() {
            return content;
        }

        public Builder setContent(String content) {
            this.content = content;
            return this;
        }

        private String getAttrsInTag() {
            return attrsInTag;
        }

        public Builder setAttrsInTag(String attrsInTag) {
            this.attrsInTag = attrsInTag;
            return this;
        }

        public HtmlWrapper build() {
            return new HtmlWrapper(this);
        }
    }
}

下面是客户端调用 HtmlWrapper.java 的代码:

当前这个版本仅仅是为了展示 构建者模式 的实现,所以并没有其他逻辑。

public class Client {
    public static void main(String[] args) {
        HtmlWrapper table = new HtmlWrapper.Builder().setTag("table").setAttrsInTag("border='1' style='border-collapse:collapse'").build();
    }
}

鸣谢

菜鸟教程

相关文章

  • 设计模式(四):建造者模式

    建造者模式(Builder Pattern) 建造者模式(Builder Pattern)将一个复杂的构建与其表示...

  • Builder Pattern - 构建者模式 - java 实

    最近工作中需要写个小程序来填充邮件的内容,由于邮件内容需要支持表格等样式,为了避免直接拼写纯 HTML 代码,所以...

  • 11.2设计模式-构建者模式-详解

    构建者模式 java的builder模式详解 builder模式在android中的实际运用 1.java的bui...

  • 建造者模式

    建造者模式 概述 建造者模式(Builder pattern),将一个复杂对象的构建与它的表示分离,使得同样的构建...

  • Builder模式

    一、作用 工匠若水-设计模式(创建型)之建造者模式(Builder Pattern) 用于构建复杂的对象,将构建的...

  • 设计模式 | 建造者模式及典型应用

    建造者模式 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可...

  • Java设计模式之03_Builder(建造者模式)

    更多Java设计模式:Java设计模式-目录 建造者模式(Builder Pattern)使用多个简单的对象一步一...

  • Builder Pattern(构建者模式)

    介绍 Builder模式是一步一步创建一个复杂对象的创建型模式。它允许用户在不知道内部构建细节的情况下,可以更精准...

  • 设计模式之——建造者模式

    建造者模式 建造者模式(Builder Pattern)是将一个复杂对象的构建过程与它的表示分离,使得同样的构建过...

  • 建造者模式

    1. 模式定义 建造者模式(Builder Pattern): 将一个复杂对象的构建与它的表示分离,使得同样的构建...

网友评论

    本文标题:Builder Pattern - 构建者模式 - java 实

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