The constructor for ExperimentInstance has a lot of parameters. Because we want this to effectively be an read only instance, we need to supply all the parameters via the constructor.
Our options are:
Create a new ExperimentSettings class that has settable properties. Add a constructor overload to ExperimentInstance that takes a settings instance and sets all the properties accordingly.
Create a new ExperimentBuilder class that lets you set properties and returns a new instance of ExperimentInstance with those properties set via some Create method.
The constructor for
ExperimentInstance
has a lot of parameters. Because we want this to effectively be an read only instance, we need to supply all the parameters via the constructor.Our options are:
ExperimentSettings
class that has settable properties. Add a constructor overload toExperimentInstance
that takes a settings instance and sets all the properties accordingly.ExperimentBuilder
class that lets you set properties and returns a new instance ofExperimentInstance
with those properties set via someCreate
method.ExperimentInstance
/cc @davezych who noted this problem