一个命名空间中有多少个模型重要吗?

Does it matter how many models are in a single namespace?

在 MVC 应用程序中,MyApp.Models 命名空间中有多少个模型是否重要?

我有足够的模型值得将它们拆分到单独的文件夹中(例如 /Models/Users、/Models/Emails、/Models/Messages 等)。

MVC 默认为新模型提供与文件夹结构对应的命名空间(例如 MyApp.Models.UsersMyApp.Models.EmailsMyApp.Models.Messages 等)。

对我来说,在同一个命名空间中拥有 所有 个模型似乎更容易,只需 MyApp.Models

但是,在违反此默认 MVC 约定之前,我想检查这是否是一个愚蠢的举动。

例如,导入其中包含 500 个模型的命名空间是否有任何开销或缺点?

除了命名冲突,没有问题。虽然,如果你有那么多模型,你可能想寻找重构的机会。

重构可能意味着拆分名称空间,例如分成多个区域,但也可能意味着利用视图模型(只是我的假设)微不足道且不需要实际模型的地方。

也许您有时应该考虑简单地使用底层类型,该类型的可枚举类型(如 List, Array, or some other Collection), a Tuple, or a Dictionary.