您可能会看到Joshua Bloch提倡的Builder模式,并在 Effective Java中进行了
描述。http://developers.sun.com/learning/javaoneonline/2007/pdf/TS-2689.pdf上有要点介绍。毫无疑问,您可以找到更好的参考。
基本上,您还有另一个类,可能是一个内部类,该类提供以设置的属性命名的方法,并返回原始生成器,以便您可以链接调用。它使得代码可读性很强。
例如,假设我有一个
Message带有一些属性的简单对象。构造此代码的客户端代码可以使用构建器来准备a
Message,如下所示:
Message message = new Message.Builder() .sender( new User( ... ) ) .recipient( new User( ... ) ) .subject( "Hello, world!" ) .text( messageText ) .build();
的一个片段
Message.Builder可能类似于以下内容:
public class Builder { private User sender = null; // Other properties public Builder sender( User sender ) { this.sender = sender; return this; } // Methods for other properties public Message build() { Message message = new Message(); message.setSender( sender ); // Set the other properties return message; }}


