2012-06-01 80 views
1

我正在構建webformsmvp概念的網站。我想在創建演示者時使用Ninject(v3.0)來解析我的服務(以及任何其他)依賴關係。這裏是我的演示構造函數的例子:WebformsMVP實現一個Ninject IPresenterFactory

public ParticipantPresenter(IParticipantDisplayView view, IParticipantService participantService) : base(view) 

所以,我想有Ninject解決使用自定義IPresenterFactory的IParticipantService實施。

作爲參考,這裏是需要被執行的IPresenterFactory接口上的方法的簽名:

IPresenter Create(Type presenterType, Type viewType, IView viewInstance); 

我有個問題;如果我實現並註冊我的IPresenterFactory實現,我是否負責解析Presenter構造函數中的View參數? webformsmvp框架沒有爲我提供這方面的幫助,或者現在我選擇提供自定義工廠實現,我現在是否承擔解決視圖的責任?

P.S.我注意到在webformsmvp contrib project上有一個實現,但這是針對Ninject v2的。我一直在考慮重寫Ninject3的代碼。但是這並不能幫助我回答這個問題。

回答

1

經過一番研究發現,如果您實施自己的IPresenterFactory您不負責解決該視圖。綜觀(同上)簽名:

IPresenter Create(Type presenterType, Type viewType, IView viewInstance); 

viewInstance包含視圖的實例由webformsmvp框架解決。我想你有機會在你的工廠實現中使用這個實例。

我需要在我的工廠中完成的所有工作是解決演示文稿類型,我通過委派給Ninject內核來完成此操作。