Design patterns y并不意味着Builder允许您实例化一个目标类,然后随着时间的推移对其进行修改。如果有很多依赖项,请查看此链接,我会说这正是您需要构造函数的时候。。。您应该使用依赖项注入来注入这些依赖项。 new ObjectBuilder().withParam1(1
Design patterns y并不意味着Builder允许您实例化一个目标类,然后随着时间的推移对其进行修改。如果有很多依赖项,请查看此链接,我会说这正是您需要构造函数的时候。。。您应该使用依赖项注入来注入这些依赖项。 new ObjectBuilder().withParam1(1,design-patterns,Design Patterns,y并不意味着Builder允许您实例化一个目标类,然后随着时间的推移对其进行修改。如果有很多依赖项,请查看此链接,我会说这正是您需要构造函数的时候。。。您应该使用依赖项注入来注入这些依赖项。 new ObjectBuilder().withParam1(1).withParam4(4).withParam19(19).build(); new Foo(1,2,3,4,5,6,7,8,9,10,11,12) Foo.newBuilder() .bar(1) .bar(2) .
y并不意味着
Builder
允许您实例化一个目标类,然后随着时间的推移对其进行修改。如果有很多依赖项,请查看此链接,我会说这正是您需要构造函数的时候。。。您应该使用依赖项注入来注入这些依赖项。
new ObjectBuilder().withParam1(1).withParam4(4).withParam19(19).build();
new Foo(1,2,3,4,5,6,7,8,9,10,11,12)
Foo.newBuilder()
.bar(1)
.bar(2)
.quux(3)
...
.build()
new Pipeline(
new Sequence(
new Stage(
new StageFunction() {
public function execute() {...}
}
),
new Stage(
new StageFunction() {
public function execute() {...}
}
)
)
)
Pipeline.newBuilder()
.sequence()
.stage(new StageFunction () {
public function execute() {...}
})
.stage(new StageFunction () {
public function execute() {...}
})
.build()
// a class with ctor that takes lots of params
class Params
{
Params(int,int,int,String,char,boolean,int){}
}
// We dont need a builder.
// A builder will do the same following thing.
int p1 = 20;
int p2 = 40 + 40;
int p3 = (67 >> 1) * 3;
String p4 = "go" + "to" + "church";
char p5 = ' ' == 32 ? '5' : '7';
boolean p6 = true;
int p7 = MATCH_PARAMS;
new Params(p1,p2,p3,p4,p5,p6,p7);
//There is also this design pattern
new Params(
20,
40 + 40,
(67 >> 1) * 3,
"go" + "to" + "church",
' ' == 32 ? '5' : '7',
true,
MATCH_PARAMS
);