一个项目现在有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)具有相似内部工作的类可以被分组在一起。你有什么建议?你知道吗
就我个人而言,我不喜欢aproach A。这些目录之间有很强的依赖性。其中一些是不必要的,使依赖关系难以管理。你知道吗
例如: 初级开发人员增加了对UserRepository>;装运的依赖,但这在设计上是不可取的。由于存储库确实依赖于UserRepository>;User的模型,因此很难检测到该漏洞(除非仔细检查代码)。你知道吗
但这在Proach B中要容易得多。我们可以对目录应用一些依赖性检查策略(禁止用户>;发货)。你知道吗
依赖管理的粒度非常重要。如果我们能用一些自动检查工具在一个粗略的层次上进行管理,那么成本就会低得多。你知道吗
相关问题 更多 >
编程相关推荐