ビジネスオブジェクトをインスタンス化するために、この種のパターンをコードに入れました。
// UI or Business level code
public class SomeClass
{
IOrderFactory orderFactory;
public SomeClass(IOrderFactory orderFactory)
{
this.orderFactory = orderFactory
}
public void SomeMethod()
{
var newOrder = orderFactory.CreateOrder();
// Do stuff with new object
}
}
// In an interfaces only project
public interface IOrderFactory
{
Order CreateOrder();
}
// In an implementation project (not seen by most other modules)
public class OrderFactory
{
public Order CreateOrder()
{
return new Order();
}
}
現在、Unityを使用してIOrderFactory
オブジェクトを作成していますが、Unity(IOC)を使用してOrder
オブジェクト自体を生成できるかどうか疑問に思っています。
何かのようなものunityContainer.Resolve<IOrder>()
で、毎回新しいものを作りますか?
それはうまくいくでしょうか?サービスと機能(つまり、ViewModels、Helpers)クラスにはUnityを使用します。ただし、これを使用してビジネスオブジェクト(顧客や注文など)を作成したことはありません。