首页 > 解决方案 > 清理架构历史/活动记录

问题描述

我应该在哪里记录用户的操作,在域或表示层上?

如果 Presentation Layer (Assuming MVP):presenter调用interactor/usecase后,会调用另一个usecase添加一个activity/history log。

如果域层:在交互器/用例本身执行操作后,它将保存到历史/活动日志存储。

如果历史/活动日志是表示层的一部分,我会感到困惑,因为将记录的文本/操作(例如字符串:用户喜欢此评论)在域层上看起来不需要。

但是如果历史记录是应用程序逻辑的一部分,我也很困惑,即域层。因为如果我将它放在域层上,日志文本格式将在用例/交互器上硬编码。

标签: clean-architecture

解决方案


这取决于您想要达到的目标。如果您只想收集用户最常使用的 UI 元素和 UI 的哪些部分,将日志记录添加到表示层可能就足够了。

如果您的重点是记录用户最常使用的功能以及如何使用它,那么记录应该在域层/应用层中。在这种情况下,决定为每个“活动”记录哪些信息是业务规则的一部分。您可能希望使用存储库模式之类的东西来保持域层独立于日志的实际写入。


推荐阅读