开发者

castle IOC - resolving circular references

quick question for my MVP implementation:

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 r开发者_如何学Goegards

Frederik


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


As long as you put both Presenter and View inside the same csproject, there shouldn't be any circular reference

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜