我研究过MVP的例子。我找到的所有例子都没有复杂的表格。在现实生活中,表格可能变得非常复杂(特别是如果您工作的客户不理解“单一责任原则”)。
记住这一点,以下示例是否符合MVP原则?
表单代码 - 表单实现了两个接口,每个接口对应一个接口。
public partial class ExampleForm : Form, ILookupView, IExampleView
{
//Constructor
public ExampleForm()
{
InitializeComponent();
var presenterEquipment = new EquipmentPresenter(this);
presenterEquipment.PopulateEquipmentLookup();
var presenterMain = new ManageComponentsPresenter(this);
presenterMain.SetInitialValues();
}
}
如果不是处理大型复杂表格的最佳方法是什么?
非常感谢。
答案 0 :(得分:2)
我会将视图拆分为较小的视图,实现为用户控件并组成小视图的大视图。
但是,从技术上讲,我没有看到任何理由说明您的方法不起作用。您可以让大视图实现多个界面,并将多个演示者分配给不同的“子视图”。
答案 1 :(得分:1)
我的理念是让设计模式与您的应用程序的需求相匹配。我对MVP,MVC的理解也在不断增长。回答你的问题虽然MVP模型之间的关系是。
One View有一个Presenter可与零个或多个模型对话。 如果您需要为一个视图使用多个Presenter,则可能出现这种情况,这些视图很可能被分离为较大视图导入的较小子视图。或者存在可以分离出一个或多个模型的业务逻辑