在我的MVVM项目中,有一些模型类被持久化到数据库中,例如Customer、Product和Invoice。我把这些放在一个名为[Company]的命名空间中。[技术]。根据命名空间命名约定进行建模。
我还有一些模型类,它们从未被持久化,而是在运行时创建和处理的。例如Session或SearchHit。这些模型也通过ViewModels等呈现,但我想将它们从持久化模型中分离出来。
那么,对于这些模型来说,一个好的名称空间名称是什么呢?
我会选择这个:
- 非持久MVVM模型的
[Company].[Technology].Models
- 非持久MVVM视图模型的
[Company].[Technology].ViewModels
- 持久模型的
[Company].[Technology].Data.Models
您可以使用[Company].[Technology].Data
命名空间来包含与持久数据相关的所有类,例如派生的DbContext
类等。
但这确实是一个意见问题。您可以使用任何您希望保持一致的名称空间。