讓我有兩個非常基本的對象,如:依賴注入與循環依賴
public class View
{
public View(Controller controller)
{
// Use the model exposed by the controller here
}
}
public class Controller
{
private readonly IView view;
public Controller()
{
this.view = new View(this);
}
public Controller(View v)
{
this.view = v;
}
}
後來我決定要注入View對象爲通過DI控制器但是我有一個循環依賴(即我不能使用var ctrl = new Controller(new View(ctrl));
)。在這種情況下,你會如何注入依賴項?
你打算對一個控制器有多個視圖嗎? –
只有一個。儘管如此,我試圖在這種情況下避免屬性注入。 –
那麼爲什麼要添加DI分辨率來查看?視圖和控制器之間會有1:1的關係。對不起,我沒有看到它的重點。 –