我发现将构建器注入到类中我永远无法确定构建器所处的状态。我正在考虑为构建器提供构建...本身的能力。
有没有人做过这样的事情?
public interface IProductBuilder{
// Creates a new instance of the builder
IProductBuilder Create();
// Adds a part
IProductBuilder Add(IPart Part);
// Creates the product
IProduct Build();
}
以下是一个用例:
[Export]
public class SomeClass : ISomeService{
[ImportingConstructor] // inject through MEF
public SomeClass(IProductBuilder builder){
this.builder = builder;
}
public IBar bar SomeFunction(IPart foo)
{
var mybuilder = builder.Create(); // was the builder populated?
builder.Add(foo);
return builder.build();
}
}
当然,这意味着构建器本身将始终是徒劳的创建,或者我可以将其单独创建。
任何反馈,赞赏。