- 授权协议: Apache
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: http://freebuilder.inferred.org
- 软件文档: https://github.com/google/FreeBuilder/blob/master/README.md
- 官方下载: https://github.com/google/FreeBuilder/archive/master.zip
软件介绍
FreeBuilder
为 Java 1.6+ 自动生成 Builder 模式。
当设计类的构造函数或静态工厂具有多个参数时,Builder 模式是一个不错的选择。—— Effective Java,第二版,第39页
背景
在 Java 中实现 Builder 模式容易出错和重复。即使是一个简单的四字段类,最基本的构建器 API 需要 39 行代码,如果你不使用像 AutoValue 这样的实用程序来生成值样板,则需要 72 行代码。
使用
import org.inferred.freebuilder.FreeBuilder;
@FreeBuilder
public interface Person {
/** Returns the person's full (English) name. */
String name();
/** Returns the person's age in years, rounded down. */
int age();
/** Builder of {@link Person} instances. */
class Builder extends Person_Builder { }
}JavaBean convention
如果值类型遵循 JavaBean 命名约定,只需在访问器方法前面加上'get'(或者,布尔访问器是'is')。 FreeBuilder 会跟随,并在 setter 方法上添加“set”前缀,以及从 toString 输出中删除前缀。
@FreeBuilder
public interface Person {
/** Returns the person's full (English) name. */
String getName();
/** Returns the person's age in years, rounded down. */
int getAge();
/** Builder of {@link Person} instances. */
class Builder extends Person_Builder { }
}
Person person = new Person.Builder()
.setName("Phil")
.setAge(31)
.build();
System.out.println(person); // Person{name=Phil, age=31}
Java程序设计
宋中山 严千钧 等编 / 清华大学出版社 / 2005-8 / 27.00元
本书全面、系统地介绍了Java语言的基本概念、基本语法和编程方法。主要内容包括:Java语言概述、数据类型与运算符、流程控制语句、类与对象、继承与多态、异常处理、工具类和算法、Applet小应用程序、图形用户界面、输入和输出、Java多线程以及Java高级编程。每章后面附有习题,读者可参考使用。 本书内容丰富,结构合理,语言简洁,深入浅出,通俗易懂。基础知识与程序实例相结合,示例典型......一起来看看 《Java程序设计》 这本书的介绍吧!
