首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android: MVVM和关注点分离

Android: MVVM和关注点分离
EN

Stack Overflow用户
提问于 2021-10-29 10:10:41
回答 1查看 85关注 0票数 0

我几乎完成了将我的应用程序迁移到具有数据绑定和实时数据的MVVM (尽管仍然是java ),现在我拥有的不仅仅是一个架构良好的Android应用程序(如下所示)。我对此很满意,但我想走得更远。

谈到干净的架构,我正在尝试弄清楚如何在Android中进行适当的关注点分离(数据库、业务、服务等)。

我在.net工作,在这个平台上,你要做的就是为每一层(数据库、业务、表示)创建一个不同的项目,然后以正确的顺序引用它们,但项目大多是相互独立的。

在Android中,据我所知,你有一个应用程序模块,即使我有一个很好的包中断,所有的都是“一起”到同一个项目中。

我不确定这是否是真正遵循干净架构原则的最佳方法。我听说过Dagger,听说你可以用它创建模块,但不确定它是否是我想要做的事情。

有没有关于在Android中实现关注点分离的好方法的帮助/提示?

我目前的应用结构:

代码语言:javascript
复制
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
                ...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-29 11:20:16

您可以通过创建多个模块来分离您的关注点,如(应用程序、核心、网络、服务、存储库)。就像'app‘是一个模块一样,你可以为每个关注点创建一个独立的模块,并且你可以使用Koin在模块之间进行依赖注入。

这里有一个github存储库示例供参考:

https://github.com/Fahad-github/Bykea-CaseStudy-MusicApp

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69767160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档