C# ShellView或MainWindow作为应用程序中的主视图?

C# ShellView或MainWindow作为应用程序中的主视图?,c#,wpf,mvvm,C#,Wpf,Mvvm,我有一个视图基类,它派生自我用于所有视图的UserControl。它允许以后在我的所有视图中添加共享功能,而无需重复代码。现在,我的应用程序的顶层视图只包含一个“NavBarView”和一个“WorkingView”。后者是空的,只是MEF插件提供的其他子视图的宿主 我的问题是,在应用程序的MainWindow“视图”中托管这两个视图就足够了吗?还是我应该创建一个包含它们的ShellView,并将其作为MainWindow的唯一子视图?别忘了,MVVM、MVC、MVP等的目的是公开可测试的UI。

我有一个
视图
基类,它派生自我用于所有视图的
UserControl
。它允许以后在我的所有视图中添加共享功能,而无需重复代码。现在,我的应用程序的顶层视图只包含一个“NavBarView”和一个“WorkingView”。后者是空的,只是MEF插件提供的其他子视图的宿主


我的问题是,在应用程序的
MainWindow
“视图”中托管这两个视图就足够了吗?还是我应该创建一个包含它们的
ShellView
,并将其作为
MainWindow
的唯一子视图?

别忘了,MVVM、MVC、MVP等的目的是公开可测试的UI。在我的MVP WinForms应用程序中,我只是抽象了实际显示视图的实现(如底层表单等)。我建议
MainWindow
足以进行引导,但如果您打算在其中加入实质性的逻辑,那么请使用
ShellView
,以便稍后测试该逻辑。对我来说,这听起来似乎很简单,我个人会从
MainWindow
开始启动并运行。您可以随时在以后重构

请回答你的评论,它是“接受的”。好的,等我回到我的笔记本电脑时我会这样做。