【发布时间】:2011-02-01 23:36:51
【问题描述】:
在您使用 IoC 但其中包含静态方法以及其他方法的情况下,最好的方法是什么,如下所示:
public partial class ShoppingCart
{
private IDatabaseFactory _storeDB;
public ShoppingCart(IDatabaseFactory storeDB)
{
_storeDB = storeDB;
}
private string ShoppingCartId { get; set; }
public static ShoppingCart GetCart(HttpContextBase context)
{
var cart = new ShoppingCart(WHATGOESHERE?);
cart.ShoppingCartId = cart.GetCartId(context);
return cart;
}
public int OtherMethod()
{
...
}
}
【问题讨论】:
-
为什么你的
HttpContext被传递到 DAL 层? -
我正在使用样本中的 sn-p。
-
正如 Daniel A White 所指出的,这是个坏主意。 IoC 有时会暴露出这样的坏主意。
标签: c# unity-container ioc-container ninject