為什么不使用IoC容器來解決實體/業務對象的依賴關系?我理解DI背后的概念,但我只是在學習不同的IoC容器可以做什么。似乎大多數人都提倡使用IoC容器來連接無狀態服務,但是將它們用于實體這樣的有狀態對象又如何呢?無論是對還是錯,我通常都會用行為填充我的實體,即使這種行為需要一個外部類。例子:public class Order : IOrder
{
private string _ShipAddress;
private IShipQuoter _ShipQuoter;
public Order(IOrderData OrderData, IShipQuoter ShipQuoter)
{
// OrderData comes from a repository and has the data needed
// to construct order
_ShipAddress = OrderData.ShipAddress; // etc.
_ShipQuoter = ShipQuoter;
}
private decimal GetShippingRate()
{
return _ShipQuoter.GetRate(this);
}
}如您所見,依賴項被注入構造函數?,F在來問幾個問題。讓實體依賴外部類(如ShipQuunt)是否被認為是一種糟糕的做法?如果我正確地理解了這個定義,消除這些依賴似乎會導致我走向貧血的領域。使用IoC容器來解決這些依賴關系并在需要時構造一個實體是否是一種糟糕的做法?有可能這樣做嗎?謝謝你的洞察力。
添加回答
舉報
0/150
提交
取消