试一下这个极佳的文件夹结构吧
一个快速发展且计划不断变化的项目对于每个开发人员来说都是一场噩梦。
摆脱这种情况的唯一方法是有一个合理的规划。
由于愚蠢的文件夹结构,我一直在挣扎。而且我不希望你们再经历所有这些无谓的挣扎。
在本文中,我将向您介绍我的文件夹结构,您也可以在项目中使用它。
我期望建立一个能够满足如下需求的目录结构:
- 如果我想添加功能,易于扩展。
- 将我的业务逻辑与我的视图 (UI) 分开。
- 轻松移除任何模块。
- 易于识别我的组件在哪里。
- 如果需要,可以轻松更改任何路线。
- 易于更新我的主题。
- 如果需要,可以轻松连接到新的后端。
就是这样,我们想要一些简单而灵活的东西。所以,请看我接下来的表演。
让我们试试这个方法
我只是想让它变得简单。所以没有技术术语,只有一个简单的解释。
- 视图:让我们将所有视图(屏幕)分组到一个文件夹中。进一步将视图分组到单独的模块中。您可能有身份验证、个人资料、入职培训等模块……
- 控制器:所有的业务逻辑和状态管理逻辑都在这里。您可以将您的提供者、块或任何其他状态管理逻辑的逻辑放入此文件夹。您甚至可以将其重命名为您的状态管理架构,如providers、 blocs、……
- 服务:进入您的应用程序的任何数据都必须来自这里。它可能正在连接 REST API 或任何数据库连接。
- 模型:将所有模型都放在这里,例如 user_model.dart、product_model.dart 或其他任何模型。我将发表另一篇关于如何使用模型使您的项目更有条理的文章。
- 配置:这里有所有控制你的应用程序的东西,比如常量、路由、主题……
- Assets:在项目级别创建一个文件夹“assets”。通常将其命名为“assets”。当然了没有任何强制命名的要求。但一定要在整个项目中保持一致。
此外,您可以根据assets类型(如图像、Html、字体……)对资源进行分组。
这是唯一的方法吗?
一点都不!
您可以使用最适合您的任何架构或文件夹结构。
因为我觉得这个对我有用。所以,我希望它也对你们有用。
要不试一试?
看看它是否适合你。
随心所欲地做出改变,直到找到适合自己的东西。
如果你发现了比这更好的东西。请一定要告诉我,并分享给其他人哈!