From 853f75d4310e1f7de1328cb34390d36db2e094c0 Mon Sep 17 00:00:00 2001 From: StringTek Date: Tue, 6 Aug 2019 15:27:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9item2=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E4=B8=8D=E5=BD=93=E6=88=96=E4=B8=8D=E5=90=88=E7=90=86=E8=A1=A8?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/notes/02. 当构造方法参数过多时使用builder模式.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notes/02. 当构造方法参数过多时使用builder模式.md b/docs/notes/02. 当构造方法参数过多时使用builder模式.md index e496b38..f0968ae 100644 --- a/docs/notes/02. 当构造方法参数过多时使用builder模式.md +++ b/docs/notes/02. 当构造方法参数过多时使用builder模式.md @@ -167,7 +167,7 @@ NutritionFacts cocaCola = new NutritionFacts.Builder(240, 8) .calories(100).sodium(35).carbohydrate(27).build(); ``` -  这个客户端代码很容易编写,更重要的是易于阅读。 Builder 模式模拟的可选参数可以在Python和Scala都可以找到。 +  这个客户端代码很容易编写,更重要的是易于阅读。 采用Builder 模式模拟实现的的可选参数可以在Python和Scala都可以找到。   为了简洁起见,省略了有效性检查。 要尽快检测无效参数,检查 builder 的构造方法和方法中的参数有效性。 在 `build` 方法调用的构造方法中检查包含多个参数的不变性。为了确保这些不变性不受攻击,在从 builder 复制参数后对对象属性进行检查(详见第 50 条)。 如果检查失败,则抛出 `IllegalArgumentException` 异常(详见第 72 条),其详细消息指示哪些参数无效(详见第 75 条)。