我最近创建了一个没有遵循特定设计模式的 winforms 应用程序。此应用程序有 4 个不同的“视图”,每个视图都使用 TableLayoutPanel 实现。一个视图是“主”视图,允许用户选择输入文件,其他 3 个视图包含 DataGridViews,允许用户处理从输入文件加载的数据。
问题在于我有一个单一的表单,其中包含 4 个不同的面板,这些面板在需要时隐藏并可见。但这导致我的表单类变得比我想要的大得多,因为我有不同的事件和方法来操作同一类中每个面板的数据。所以我做了一些研究并遇到了 Model-View-Presenter,但我只遇到了显示具有单视图的应用程序的示例。
我的问题是,如果我使用MVP并且每个视图都有自己的界面和展示器,并且视图的具体实现是使用Form完成的,那么在视图之间切换的最佳方式是什么(例如,单击“下一步”时) .
我的观点的具体实现应该是一个表格吗?我在这里错过了什么吗?我想遵循 MVP 模式,但如果有更好的选择,我愿意接受建议。