如何在Flutter中组织良好的通用呈现结构?

问题描述 投票:0回答:1

通常在我的 Flutter 应用程序中,我有模块(包),其中包含核心、数据和功能(所有模块都是独立的)。在每个功能模块中,我都有表示层,其中包含 UI + 状态机。但我有点困惑如何制作表示层的通用结构(仅关于 UI 和元素的问题,而不是关于状态机的问题)。在演示文件夹中,我为每个页面/对话框/表格等设置了单独的文件夹,我可以通过路线(任何导航方法)到达这些文件夹。此外,我还为应用程序中不止一个位置存在的 UI 块设置了单独的文件夹(例如,第一页和第二页中存在的 UI 块)。但我对 UI 组件感到困惑,这些组件可能具有自己独立的逻辑(块/立方体/控制器等和自己的 UI),但它们仅存在于应用程序中的一个位置(例如一张复杂的卡片,但它仅在整个页面上)应用程序没有重复项)。我是否应该为它们创建单独的文件夹和控制器?我现在使用的描述的结构几乎对任何情况都是通用的,但我觉得它可能更漂亮、更有结构,或者我已经有了最终的通用结构,我不知道。小伙伴们对此有什么看法吗?

flutter dart architecture presentation
1个回答
0
投票

我建议您将应用程序分为两个主要文件夹:核心和功能,在第一个文件夹中处理涉及服务、模型、抽象类的所有内容,此外,在第一个文件夹中添加一个部分,您可以在其中管理您的整体设计为此,您可以使用定义原子设计的结构,包括原子、分子、模板等。请记住,第一个文件夹包含应用程序的所有全局元素,包括设计为在整个项目和其他项目中使用的小部件,在第二个文件夹中,我建议您按模块进行管理,并在每个模块中管理另外 3 个文件夹,例如页面、控制器和小部件;考虑到 widgets 文件夹将包含仅在该模块中使用的对象(如果该对象在多个中重复),我建议您在 core 文件夹中声明它;另外,如果你管理一个状态类,你也可以在功能文件夹内的模块中声明这个类,这听起来有点复杂,但它是一个开始管理全局数据的结构,可以帮助你很多。

© www.soinside.com 2019 - 2024. All rights reserved.