我提出这个问题是为了征询您的意见,并查看我是在愚蠢还是在做书呆子。
我“需要”服务层(出于良好实践),当存储库层已经可以通过查询以更快的方式完成大多数事情(例如FindUserByID)时,当服务必须手动完成所有这些事情时更低效和超级手动的方式?
因此,我一直在处理Clean Architecture,这很棒,但不适用于REST体系结构。因为,Clean Architecture实际上是由Controllers层构成的,而RPC是处理控制器而不是REST的层。 REST处理资源。 因此,我删除了“控制器”层,并且我也在考虑是否真的需要“服务”层。
因此REST需要“服务”和/或“存储库”。奇怪的是,我认为这两者是重叠的。我知道服务应该是处理“业务规则”]。但这是东西:
由于允许存储库与数据库直接通信,因此它们可以使用数据库查询(sql或nosql的查询)。 写入效率,读取效率,性能效率更多。
说,您需要通过其ID查找用户,然后从其好友列表中按其名称选择一个特定的朋友。
摘要?像20到30行代码一样,性能会降低吗?
filter := bson.M{
"_id": id,
"friendlist.name": friendsName,
}
projection := bson.M{
"friendlist": 1
}
friend, err := mongoDb.find(filter, projection)
因此,“服务层”部分是否真正需要?当存储库本身已经可以更高效地完成所有工作时,将其分为服务层和存储库层是否有任何真正的体系结构优势?摘要?像3-4行代码,以及99%的数据库性能。
我提出这个问题是为了征求您对此事的意见,并查看我是愚蠢还是or脚。问题(tl; dr;)当存储库层...
我“需要”服务层(出于良好实践),当存储库层已经可以通过查询以更快的方式完成大多数事情(例如FindUserByID)时,当服务必须手动完成所有这些事情时更低效和超级手动的方式?