You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Clean Architecture中能否跨Feature共享模型与实体?是否通过Core目录实现?

问题解答

原应用文件夹结构

app
    core
    features
        feature1
            domain
                entities
                    entity1
                    entity2
                    entity3
                    entity4
                    entity5
                    entity6
            data
                models
                    model1
                    model2
                    model3
                    model4
                    model5
                    model6
            presentation
        feature2
            domain
                entities
                    entity1
                    entity2
                    entity3
                    entity4
                    entity5
                    entity6
            data
                models
                    model1
                    model2
                    model3
                    model4
                    model5
                    model6
            presentation

核心问题解答

1. Clean Architecture是否允许跨多个Feature共享模型与实体?

完全允许。Clean Architecture的核心是依赖倒置与关注点分离,只要这些模型/实体是多个Feature共同依赖的通用业务概念(而非某个Feature专属的业务逻辑),抽离出来共享就是符合架构原则的做法——这能有效避免代码重复,降低维护成本,同时保证业务概念的一致性。

2. 是否可通过core目录实现该操作?

当然可以,core目录的核心职责就是存放应用全局通用的核心组件,包括通用实体、模型、工具类、基础业务规则等。调整后的推荐结构如下:

app
    core
        domain
            entities
                entity1
                entity2
                entity3
                entity4
                entity5
                entity6
        data
            models
                model1
                model2
                model3
                model4
                model5
                model6
    features
        feature1
            domain
                # 仅存放Feature1专属的业务实体
            data
                # 仅存放Feature1专属的数据模型、数据源实现
            presentation
        feature2
            domain
                # 仅存放Feature2专属的业务实体
            data
                # 仅存放Feature2专属的数据模型、数据源实现
            presentation

关键注意事项

  • 严格控制core目录的内容:只有不依赖任何Feature、多个Feature都会用到的通用组件才能放入,避免将Feature专属逻辑塞进core,防止其变成职责模糊的“大杂烩”。
  • 保持core的稳定性:通用实体/模型的变更会影响所有依赖它的Feature,修改前需充分评估影响范围。
  • Feature专属内容仍留在各自目录:每个Feature只维护自身特有的业务逻辑和数据处理代码,保持职责清晰。

内容的提问来源于stack exchange,提问作者anonymous-dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:40:27