城堡IOC - 解决循环引用

城堡IOC  - 解决循环引用

问题描述:

我的MVP实现快速的问题:

quick question for my MVP implementation:

目前我有下面的代码,其中既有演示和视图通过容器解析结果
然后主持人呼吁View.Init自己传递给视图。

currently I have the code below, in which both the presenter and view are resolved via the container.
Then the presenter calls View.Init to pass himself to the view.

不过,我不知道是否有一种方法可以让容器修复我的循环引用(查看 - >主持人,主持人 - >视图)

I was wondering however if there is a way to let the container fix my circular reference (view -> presenter, presenter -> view).

class Presenter : IPresenter {
   private View _view; 

   public Presenter(IView view, ...){
    _view = view;
    _view.Init(this)
   }
}

class View : IView {
 private IPresenter _presenter;
 public void Init(IPresenter presenter){
  _presenter = presenter;
 }
}



亲切的问候

Kind regards

弗雷德里克

您可以使用属性的setter方法,而不是通过引用到构造。

You could use a property setter instead of passing the reference into the constructor.