C# 如果大多数构造函数参数都是共享的,那么使用静态字段来限制构造函数参数的数量是否是一种糟糕的设计?
实现下面提出的逻辑会是糟糕的设计吗?本质上,目标是限制传入共享参数的次数C# 如果大多数构造函数参数都是共享的,那么使用静态字段来限制构造函数参数的数量是否是一种糟糕的设计?,c#,C#,实现下面提出的逻辑会是糟糕的设计吗?本质上,目标是限制传入共享参数的次数 **// Current implementation** public class Configuration { public Configuration(Foo f, Bar b, Baz bz, Qux q, FooBar fb); public Configuration(Foo f, Bar b, Baz bz, Qux q, BazQux bz); } Main { var confi
**// Current implementation**
public class Configuration
{
public Configuration(Foo f, Bar b, Baz bz, Qux q, FooBar fb);
public Configuration(Foo f, Bar b, Baz bz, Qux q, BazQux bz);
}
Main
{
var configA = new Configuration(f, b, bz, q, fb)
var configB = new Configuration(f, b, bz, q, bz)
DoStuff(configA);
DoOtherStuff(configB);
}
**// Proposed implementation**
public class Configuration
{
static Foo f;
static Bar b;
static Baz bz;
static Qux q;
public Configuration(FooBar fb);
public Configuration(BazQux bz);
}
Main
{
Configuration.Foo = f;
. . .
var configA = new Configuration(fb)
var configB = new Configuration(bz)
DoStuff(configA);
DoOtherStuff(configB);
}
是的,这是一个糟糕的设计。如果您需要创建使用不同Foo实例的不同配置configC,该怎么办