我正在对我的几个 flutter 应用程序进行重构。当我制作这些应用程序时,我不太关心文件夹结构。
因此,当我的应用程序在每次更新时变得更大之后,该过程变得更难/难以维护。
所以我决定重构这些应用程序并在干净的架构上重建它们。
ِ我已经阅读了这篇文章,它解释了如何使用块创建可扩展的文件夹和文件结构
但我不明白两件事:
我不太熟悉 DDD 原理,也不知道如何将它们应用到我的应用程序中。
例如,我的一个应用程序是一款财务应用程序,用于收集您的日常支出并创建报告,这是当前的文件夹结构。
我最近开始使用 GetX,我的架构观点发生了变化。 GetX 调用其状态管理器 -
controllers
。
因此,我们有一个明显的架构模式选择 - MVC。
是的
GetControllers
不完全是 MVC 中的 Controller,但谁在乎呢?
因此,下一个文件夹结构:
controller \
user_controller.dart
todo_controller.dart
model \
user.dart
user_service.dart //firebase connection
todo.dart
todo_service.dart
view \
user_screen.dart
todo_screen.dart
widgets \
custom_button.dart
如果我们的应用程序中有超过 3 个功能,那么
controller \
feature1 \
feature1_controller.dart
...
featureN \
model \
feature1 \
feature1.dart
feature1_service.dart //firebase connection
...
featureN \
view \
feature1 \
feature1_screen.dart
...
featureN \
widgets \
custom_button.dart
这种方法称为层优先。
永远不应该使用替代的功能优先方法。 如果应用程序对于层优先方法来说太大,则应将其拆分为多个包。
显然,以上都是我的拙见。
在软件开发中,几乎一切都是权衡的。