Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 具有布尔属性的实体的构造函数设计模式_Design Patterns_Builder - Fatal编程技术网

Design patterns 具有布尔属性的实体的构造函数设计模式

Design patterns 具有布尔属性的实体的构造函数设计模式,design-patterns,builder,Design Patterns,Builder,我有一个实体,它的属性是很多布尔值。乍一看,我认为可能会实现一个构建器,但由于可能所有选项都是真/假,我一点也不确定。是否有更好的设计模式专门用于此所有布尔属性,如果可能的话,提供一个快速示例?提前感谢实体通常是可变的。接球手和二传手有什么问题?我明白了。我面临的问题是实体可能有20个属性,所以我不知道是使用20个参数的构造函数,还是只使用带有空白构造的setter,还是使用builder模式。你认为呢?一个20 arg的构造函数将无法使用,并且无法读取。我会使用无参数构造函数和getter/s

我有一个实体,它的属性是很多布尔值。乍一看,我认为可能会实现一个构建器,但由于可能所有选项都是真/假,我一点也不确定。是否有更好的设计模式专门用于此所有布尔属性,如果可能的话,提供一个快速示例?提前感谢

实体通常是可变的。接球手和二传手有什么问题?我明白了。我面临的问题是实体可能有20个属性,所以我不知道是使用20个参数的构造函数,还是只使用带有空白构造的setter,还是使用builder模式。你认为呢?一个20 arg的构造函数将无法使用,并且无法读取。我会使用无参数构造函数和getter/setter。如果需要,还可以添加withers,这与setter完全相同,但返回实体以能够链接调用:实体e=新实体.withFootrue.withBarfalse.withFizztrue;我会这样做的,谢谢,如果值不超过32,您也可以使用掩码。如下所示:Enitity e=newentityentity.FOO | Entity.BAR | Entity.FIZZ,其中Entity.FOO=1;Entity.BAR=1