C# 在wpf的MVVM模式中,哪一个是好的实践?

C# 在wpf的MVVM模式中,哪一个是好的实践?,c#,wpf,mvvm,C#,Wpf,Mvvm,我想使用MVVM模式开发我的wpf项目。我应该创建新文件夹来分隔模型、视图、ViewModel还是为每个文件夹创建新项目?哪一个是好的实践?我下载了示例项目,有些项目有单独的文件夹,有些项目有单独的项目。我提到过。 但这并不能消除我的疑虑。我想问的是,为Model、view和viewmodel创建新项目是好的做法还是创建新文件夹?这将真正取决于您的用例。您是否有这样一个场景:您的视图、视图模型和模型可以在其他项目中单独重用?我的意思是,例如,您是否有一个场景,您将只在其他项目中使用您的模型。如果

我想使用MVVM模式开发我的wpf项目。我应该创建新文件夹来分隔模型、视图、ViewModel还是为每个文件夹创建新项目?哪一个是好的实践?我下载了示例项目,有些项目有单独的文件夹,有些项目有单独的项目。我提到过。
但这并不能消除我的疑虑。我想问的是,为Model、view和viewmodel创建新项目是好的做法还是创建新文件夹?

这将真正取决于您的用例。您是否有这样一个场景:您的视图、视图模型和模型可以在其他项目中单独重用?我的意思是,例如,您是否有一个场景,您将只在其他项目中使用您的模型。如果是,那么创建单独的项目是有意义的,这样它们就可以被重用。但是,如果不是这样,最好将它们都保存在一个项目中。

这实际上取决于您的用例。您是否有这样一个场景:您的视图、视图模型和模型可以在其他项目中单独重用?我的意思是,例如,您是否有一个场景,您将只在其他项目中使用您的模型。如果是,那么创建单独的项目是有意义的,这样它们就可以被重用。但是,如果不是这样,最好将它们都保存在一个项目中。

文件夹仅用于创建结构和便于识别。实际上,视图和视图模型不需要文件夹。

文件夹仅用于创建结构和便于识别。视图和ViewModel确实不需要文件夹。

我通常会为视图、ViewModel等创建文件夹。然后我会为视图和viewModels类指定描述性名称。如果你有几页,我建议你有子文件夹。这一切都集中在一个项目中。但这是我的偏好

例如:

查看>销售>WelcometoSalesPageView.xaml


ViewModel>Sales>WelcometoSalesPageViewModel.vb

我通常会为视图、ViewModel等创建文件夹。然后我会为视图和viewModels类指定描述性名称。如果你有几页,我建议你有子文件夹。这一切都集中在一个项目中。但这是我的偏好

例如:

查看>销售>WelcometoSalesPageView.xaml


ViewModel>Sales>WelcometoSalesPageViewModel.vb

这是一个重复的问题,你可以找到Sheridan的答案,这对你很有帮助

基本上,您需要确定项目的总体规模。如果您计划重用片段,则可能需要将其复制到多个项目和不同级别的文件夹中。如果您计划将应用程序的一部分作为API提供,那么您可能需要使用多个项目

对于初学者,我建议你从小处着手,把所有的东西都放在一个项目中。要学习MVVM,不要关注项目结构,而要关注WPF和MVVM的工作方式。在了解MVVM的工作原理后,可以随时重新访问解决方案结构

编辑

答案是否定的,您永远不需要为您的项目创建文件夹或单独的项目。请注意,在不同的文件夹下创建新的
es也将使用该路径作为名称空间。因此,如果您创建一个
ViewModels
文件夹并向该文件夹添加一个
class
,您将在顶部看到
名称空间WpfApplication1.ViewModels
。这也意味着您必须注意XAML文件中名称空间的位置。如果要引用XAML文件中
ViewModels
文件夹中的类型,则需要执行类似
的操作。缺点是,如果在
ViewModels
中有文件夹,则还需要在XAML中引用该名称空间。因此,如果有ViewModels>Basics,您将需要XAML中的两个名称空间,因为不能在一个xmlns声明中引用所有子目录

<xmlns:vm="clr-namespace:WpfApplication1.ViewModels">
<xmlns:vmBasics="clr-namespace:WpfApplication1.ViewModels.Basics">

另一种方法是使用文件夹并将类名称空间重命名为普通的旧
名称空间WpfApplication1
,然后只需要一个xmlns声明,就可以访问应用程序中的所有类型


所以,如果不需要,不要把事情复杂化;通常情况下,学习阶段没有什么会如此复杂,以至于需要多个项目。文件夹是可选的,但如果您使用它们,请了解副作用/解决方法。

这是一个重复的问题,因为您可以找到Sheridan的答案,这对您最有帮助

基本上,您需要确定项目的总体规模。如果您计划重用片段,则可能需要将其复制到多个项目和不同级别的文件夹中。如果您计划将应用程序的一部分作为API提供,那么您可能需要使用多个项目

对于初学者,我建议你从小处着手,把所有的东西都放在一个项目中。要学习MVVM,不要关注项目结构,而要关注WPF和MVVM的工作方式。在了解MVVM的工作原理后,可以随时重新访问解决方案结构

编辑

答案是否定的,您永远不需要为您的项目创建文件夹或单独的项目。请注意,在不同的文件夹下创建新的
es也将使用该路径作为名称空间。因此,如果您创建一个
ViewModels
文件夹并向该文件夹添加一个
class
,您将在顶部看到
名称空间WpfApplication1.ViewModels
。这也意味着您必须注意XAML文件中名称空间的位置。如果要引用XAML文件中
ViewModels
文件夹中的类型,则需要执行类似
的操作。缺点是如果在
ViewModels
中有文件夹,则需要在视图中引用该名称空间