每个域模型的目录或每个层的目录,

2024-05-15 01:24:18 发布

您现在位置:Python中文网/ 问答频道 /正文

一个项目现在有200多个类,每个文件一个类,将这些类划分为目录似乎是相关的。现在我想到两种不同的策略

a)按角色或层分组

repositories/
    UserRepository
    TransactionRepository
    ShipmentRepository
serializers/
    UserSerializer
    TransactionSerializer
    ShipmentSerializer
models/
    User
    Transaction
    Shipment

b)按类所服务的域模型分组

user/
    UserRepository
    UserSerializer
    User
transaction/
    TransactionRepository
    TransactionSerializer
    Transaction
shipment/
    ShipmentRepository
    ShipmentSerializer
    Shipment

b)的优点可能是倾向于一起改变的类被分组在一起,而a)具有相似内部工作的类可以被分组在一起。你有什么建议?你知道吗


Tags: 文件项目目录角色策略transactionrepositoriesshipment
1条回答
网友
1楼 · 发布于 2024-05-15 01:24:18

就我个人而言,我不喜欢aproach A。这些目录之间有很强的依赖性。其中一些是不必要的,使依赖关系难以管理。你知道吗

例如: 初级开发人员增加了对UserRepository>;装运的依赖,但这在设计上是不可取的。由于存储库确实依赖于UserRepository>;User的模型,因此很难检测到该漏洞(除非仔细检查代码)。你知道吗

但这在Proach B中要容易得多。我们可以对目录应用一些依赖性检查策略(禁止用户>;发货)。你知道吗

依赖管理的粒度非常重要。如果我们能用一些自动检查工具在一个粗略的层次上进行管理,那么成本就会低得多。你知道吗

相关问题 更多 >

    热门问题