From 27940eb7b79d076cd5d42655e1c20b9caa75acaf Mon Sep 17 00:00:00 2001 From: Joe <736777445@qq.com> Date: Fri, 11 Oct 2019 18:23:42 +0800 Subject: [PATCH] =?UTF-8?q?Update=2002.=20=E5=BD=93=E6=9E=84=E9=80=A0?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=8F=82=E6=95=B0=E8=BF=87=E5=A4=9A=E6=97=B6?= =?UTF-8?q?=E4=BD=BF=E7=94=A8builder=E6=A8=A1=E5=BC=8F.md?= 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 f0968ae..f8262f6 100644 --- a/docs/notes/02. 当构造方法参数过多时使用builder模式.md +++ b/docs/notes/02. 当构造方法参数过多时使用builder模式.md @@ -54,7 +54,7 @@ NutritionFacts cocaCola = new NutritionFacts(240, 8, 100, 0, 35, 27);   通常情况下,这个构造方法的调用需要许多你不想设置的参数,但是你不得不为它们传递一个值。 在这种情况下,我们为 `fat` 属性传递了 0 值。「只有」六个参数可能看起来并不那么糟糕,但随着参数数量的增加,它很快就会失控。 -  简而言之,**可伸缩构造方法模式是有效的,但是当有很多参数时,很难编写客户端代码,而且很难读懂它。**读者不知道这些值是什么意思,并且必须仔细地去数参数才能找到答案。一长串相同类型的参数可能会导致一些细微的 bug。如果客户端不小心写反了两个这样的参数,编译器并不会报错,但是程序在运行时会出现错误行为 (详见第 51 条)。 +  简而言之,**可伸缩构造方法模式是有效的,但是当有很多参数时,很难编写客户端代码,而且很难读懂它。** 读者不知道这些值是什么意思,并且必须仔细地去数参数才能找到答案。一长串相同类型的参数可能会导致一些细微的 bug。如果客户端不小心写反了两个这样的参数,编译器并不会报错,但是程序在运行时会出现错误行为 (详见第 51 条)。   当在构造方法中遇到许多可选参数时,另一种选择是 JavaBeans 模式,在这种模式中,调用一个无参的构造方法来创建对象,然后调用 `setter` 方法来设置每个必需的参数和可选参数: