Buildr

Buildr是一个ruby的构建工具,用来构建Java项目,取代Maven 2.0

 

http://www.iteye.com/news/259/

http://buildr.apache.org/artifacts.html

Java构建器模式

public class A {

    private int a;

    private int b;

    private int c;

 

    public static class Builder {

        private int a;

        private int b;

        private int c;

        public Builder(){}

        public Builder seta(int a) { this.a = a; return this} 

        public Builder setb(int b) { this.b = b; return this}

        public Builder setc(int c) { this.c = c; return this}

        public A build() { return new A(this)}

    }

 

    private A(Builder builder) {

        this.a = builder.a;

        this.b = builder.b;

        this.c = builder.c;

    }

}

 

调用构造方法:

A a = new A.Builder().seta(1).setb(2).setc(3).build();

 

这样就解决了以上所说的问题,但是他的缺点同样也是存在的,就是:

1.构造器写起来很复杂

2.创建对象开销比较大

所以构建器模式只适用于需要传入很多种情况参数的时候,比如大于4种参数的配合,才比较划算。

而且值得注意的是:最好在类的设计之初就考虑是否使用构建器,否则日后扩展起来新构建器旧构造器一起用维护起来不方便。

猜你喜欢

转载自amhere.iteye.com/blog/2210401