2008-10-01 70 views
0

您是否使用MVP模式管理使用不同存储库的同一演示者?使用不同存储库的同一演示者

我只是有多个构造函数重载,演示者只是使用适合该场景的那个。

AddCustomerPresenter presenter = new AddCustomerPresenter(this,customerRepository); 
presenter.AddCustomer(); 

presenter = new AddCustomerPresenter(this,archiveRepository); 
presenter.Archive(); 

回答

0

谢谢!

但CustomerRepository和ArchiveRepository没有任何关联。他们是两个完全不同的东西。

1

为什么不

IRepository { /* .. */ } 
CustomerRepository : IRepository { /* .. */ } 
ArchiveRepository : IRepository { /* .. */ } 

然后

AddCustomerPresenter { 
IRepository Store {get;set;} 
public AddCustomerPresenter(IRepository store) { /*...*/ } 
/*...*/ 
} 

主讲人应该不会对IRepository的任何实现任何静态依赖。如果您发现没有其他方法,您需要重新设计您的设计,因为它可能存在缺陷。

相关问题