城堡IOC - 解决循环引用 [英] castle IOC - resolving circular references

查看:369
本文介绍了城堡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.

这篇关于城堡IOC - 解决循环引用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆