Java API中的生成器模式示例?
Joshua Bloch的高效Java描述了一种构建器模式,可用于构建具有多个可选自定义参数的对象。他为构建器函数建议的命名约定“模拟Ada和Python中的命名可选参数”,似乎不符合Java的标准命名约定。Java函数往往依靠一个动词来启动函数,然后用一个基于名词的短语来描述它的功能。Builder类只有将由该函数定义的变量的名称
Java标准库中是否有使用Builder模式的API?在继续使用之前,我想将书中的建议与核心Java库集中的实际实现进行比较
# 1 楼答案
我不确定是否在核心JDK中,但是可以在Guava中找到好的例子^{} 可能是我脑海中能想到的最好的例子。例如,从文档中:
是的,这类东西可能与“标准”Java命名格格不入,但也可能非常可读
对于不返回“this”而返回新对象(通常具有不可变类型)的情况,我喜欢使用“with”前缀——Joda Time广泛使用该模式。这不是建筑模式,而是另一种相关的建筑形式