我几乎完成了将我的应用程序迁移到具有数据绑定和实时数据的MVVM (尽管仍然是java ),现在我拥有的不仅仅是一个架构良好的Android应用程序(如下所示)。我对此很满意,但我想走得更远。
谈到干净的架构,我正在尝试弄清楚如何在Android中进行适当的关注点分离(数据库、业务、服务等)。
我在.net工作,在这个平台上,你要做的就是为每一层(数据库、业务、表示)创建一个不同的项目,然后以正确的顺序引用它们,但项目大多是相互独立的。
在Android中,据我所知,你有一个应用程序模块,即使我有一个很好的包中断,所有的都是“一起”到同一个项目中。
我不确定这是否是真正遵循干净架构原则的最佳方法。我听说过Dagger,听说你可以用它创建模块,但不确定它是否是我想要做的事情。
有没有关于在Android中实现关注点分离的好方法的帮助/提示?
我目前的应用结构:
com
xxx
xxx
dto
class_1_dto.java
...
class_N_dto.java
helpers
helper_http.java
helper_json.java
helper_utils.java
helper_enum.java
helper_file.java
helper_smtp.java
helper_date.java
...
model
model_class_1
model_class_2
...
all_model_classes_linked_to_AWS_database
poco
some_poco_classes
repository
aws
IAWSDAO
AWS_Repository
...
all_stuff_related_to_AWS_database_query
local
model_class_1_repo
model_class_2_repo
...
all_stuff_related_to_SQLite_database_query
services
model_class_1_serv
model_class_2_serv
...
all_stuff_related_to_local_repos_query
ui
activities
activity_1
activity_1_viewmodel
activity_2
activity_2_viewmodel
...
activity_N
activity_N_viewmodel
component
custom_view_1
custom_view_2
...
helpers
view_helper_1
...
view_helper_N
assets
res
...发布于 2021-10-29 11:20:16
您可以通过创建多个模块来分离您的关注点,如(应用程序、核心、网络、服务、存储库)。就像'app‘是一个模块一样,你可以为每个关注点创建一个独立的模块,并且你可以使用Koin在模块之间进行依赖注入。
这里有一个github存储库示例供参考:
https://stackoverflow.com/questions/69767160
复制相似问题