【发布时间】:2020-04-06 07:45:43
【问题描述】:
我正在开发一个使用 Type Script 进行 Vuex 状态管理的 Vue 应用程序。我想知道我应该在哪里放置我的模型类。目前我将它们放在子目录“models”中的“store”下。现在我有更多模型使用的自定义类型,我不确定“存储”目录是否正确。但另一方面,模型与国家关系密切,对吧?
这方面的最佳做法是什么?
【问题讨论】:
我正在开发一个使用 Type Script 进行 Vuex 状态管理的 Vue 应用程序。我想知道我应该在哪里放置我的模型类。目前我将它们放在子目录“models”中的“store”下。现在我有更多模型使用的自定义类型,我不确定“存储”目录是否正确。但另一方面,模型与国家关系密切,对吧?
这方面的最佳做法是什么?
【问题讨论】:
简答:将“models”文件夹放在“store”文件夹旁边,而不是放在里面。
长答案:
组织文件一般有两种策略:
无论你选择什么,都有一个权衡。
第一种策略是最常见的。它可以防止您的项目在根文件夹中获得许多文件夹,并且可以轻松决定将新文件放在哪里。缺点是密切相关的文件最终会相距甚远,随着代码库的增长,您将花时间寻找相互依赖的文件。
第二个将相关文件很好地保存在一起。例如,想象一个名为 Pets 的文件夹,其中包含一个宠物模型、一个宠物组件、一个宠物服务和该服务的单元测试。这使得通过 Pet 逻辑导航变得更加容易。但是,目录遵循树形结构,而域模型看起来更像图表,这可能会导致难以正确组织文件。
我发现人们最常首先按实用程序组织代码,然后按领域类别组织代码,但我不确定我是否将其称为最佳实践。反过来,对我来说也常常效果很好。
如果您按实用程序进行组织,那么您应该避免嵌套它们,因为几乎从来不会出现一种实用程序唯一属于另一种实用程序的情况。当然,模型并不是唯一属于商店的。依赖于模型的组件与该模型的耦合与存储一样紧密。因此,将“models”文件夹放在“store”文件夹旁边会更有意义。
【讨论】: