java建造者模式实现插件化配置

Android配置一个Dialog的时候,一般这么写

AlertDialog.Builder builder=new AlertDialog.Builder(this); 
builder.setIcon().setMessage().setTitle().setPositiveButton().build();

一行就可以配置完。这就是所谓插件化配置。

下面用一个小Demo来具体实现这种构造模式,使用的是建造者模式。

import java.util.ArrayList;
import java.util.List;


public class HttpHeader {
    private HttpHeader(){};


    public static HttpHeader custom(){
        return new HttpHeader();
    }

    List list = new ArrayList();

    public HttpHeader accept(String msg){
        list.add(msg);
        return this;
    }

    public HttpHeader apend(String msg){
        list.add(msg);
        return this;
    }

    public String[] build(){
        String[] msg = new String[list.size()] ;
        for (int i = 0; i < list.size(); i++) {
            msg[i]=list.get(i).toString();
        }
        return msg;
    }

}

测试类:
这里就用到了一种级联配置的形式


public class Test {
    public static void main(String[] args) {
        String[] build = HttpHeader.custom().accept("123").apend("456").build();
        for (int i = 0; i < build.length; i++) {
            System.out.println(build[i]);
        }
    }
}

正确输出了配置结果
这里写图片描述

你可能感兴趣的:(JAVA学习)