0

我发现将构建器注入到类中,我永远无法确定构建器所处的状态。我正在考虑为构建器提供构建...自身的能力。

有没有人做过这样的事情?

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();
   }
}

当然,这意味着构建器本身要么一直创建都是徒劳的,要么我可以将其设为单例。

任何反馈,不胜感激。

4

0 回答 0