Builder和Factory方法合二为一

时间:2013-06-02 23:14:19

标签: c# .net builder

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

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

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

当然,这意味着构建器本身将始终是徒劳的创建,或者我可以将其单独创建。

任何反馈,赞赏。

0 个答案:

没有答案