使用不同存储库的同一演示者
问题描述:
您是否使用MVP模式管理使用不同存储库的同一演示者?使用不同存储库的同一演示者
我只是有多个构造函数重载,演示者只是使用适合该场景的那个。
AddCustomerPresenter presenter = new AddCustomerPresenter(this,customerRepository);
presenter.AddCustomer();
presenter = new AddCustomerPresenter(this,archiveRepository);
presenter.Archive();
答
谢谢!
但CustomerRepository和ArchiveRepository没有任何关联。他们是两个完全不同的东西。
答
为什么不
IRepository { /* .. */ }
CustomerRepository : IRepository { /* .. */ }
ArchiveRepository : IRepository { /* .. */ }
然后
AddCustomerPresenter {
IRepository Store {get;set;}
public AddCustomerPresenter(IRepository store) { /*...*/ }
/*...*/
}
主讲人应该不会对IRepository的任何实现任何静态依赖。如果您发现没有其他方法,您需要重新设计您的设计,因为它可能存在缺陷。