Hi guys, I am pretty new to the Castle project and I have a quick question about circular dependencies.
I am trying to implement the MVPC design pattern using the following reference document http://www.martinhunter.co.nz/articles/MVPC.pdf This pattern requires the View to reference the Presenter and the Presenter to reference the View. Is there any way to have these dependencies resolved. I am thinking that it wont be possible, what would be an elegant work around? Thanks Rohan IWindsorContainer container = new WindsorContainer(); container.Register(Component.For<Presenter>()); container.Register(Component.For<Controller>()); container.Register(Component.For<Model>()); container.Register(Component.For<View>()); Application.Run(container.Resolve<View>()); public partial class View : Form { private readonly Presenter _presenter; private View() { InitializeComponent(); } public View(Presenter presenter) : this() { _presenter = presenter; } } public class Presenter { private readonly Model _model; private readonly Controller _controller; public Presenter(View view, Model model, Controller controller) { _model = model; _controller = controller; } } public class Model { private int _value; public Model(int value) { _value = value; } public int Value { get { return _value; } set { if (_value != value) { _value = value; this.OnValueChanged(_value); } } } protected virtual void OnValueChanged(int value) { Action<int> eventhandler = this.ValueChanged; if (eventhandler != null) { eventhandler(value); } } public event Action<int> ValueChanged; } public class Controller { private readonly Model _model; public Controller(Model model) { _model = model; } } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---
