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