如何以及在哪里正确设置Castle Windsor v2.5 MVP Winforms
本文关键字:Windsor Castle v2 Winforms MVP 设置 在哪里 | 更新日期: 2023-09-27 17:58:55
我对Winforms场景中Castle Windsor的正确实现感到困惑,我找到的所有文档都是关于WCF和ASP.NET MVC的,所以我请求帮助在Windows窗体中正确实现Castle WindWindsor。现在这是我的代码。。。我从MVP的这种方法开始http://dotnetchris.wordpress.com/2009/02/16/creating-a-generic-model-view-presenter-framework/
我做了这个
public interface IPresenter<TViewModel>
{
TViewModel View { get; set; }
event EventHandler ViewInitialized;
void OnViewInitialized(EventArgs e);
event EventHandler ViewLoaded;
void OnViewLoaded(EventArgs e);
}
基本形式为
public partial class MvpForm<TPresenter, TViewModel> : Form
where TPresenter : IPresenter<TViewModel>
where TViewModel : class
在第一部分之后,我的演示者是
public class PatientSearchCreatePresenter: IPresenter<IPatientFilterViewModel>
{
IPatientBusinessService patient;
/// <summary>
/// Initializes a new instance of the <see cref="PatientFilterPresenter" /> class.
/// </summary>
public PatientSearchCreatePresenter(IPatientBusinessService Patient)
{
patient = Patient;
}
我的搜索和创建病人的表单类似于这个
public partial class FormSearchCreatePatient : MvpForm<PatientSearchCreatePresenter,IPatientSearchCreateViewModel> , IPatientSearchCreateViewModel
{
我应该在哪里以及如何执行安装&视图的Castle组件和演示者服务属性的注册
非常感谢
以下是我以前的做法:
public class BusinessContainer : WindsorContainer
{
public BusinessContainer()
{
RegisterComponents();
}
private void RegisterComponents()
{
// Presenters
AddComponentWithLifestyle("HelloWorld.presenter", typeof(HelloWorldPresenter), LifestyleType.Transient);
}
}
}
由于IoC容器的包含有点复杂,因此要了解完整的步骤,请查看此处。