干净的架构历史/活动记录

时间:2019-04-11 11:20:36

标签: clean-architecture

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

如果是表示层(假定为MVP):演示者调用交互者/用例之后,它将调用另一个用例以添加活动/历史日志。

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

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

但是如果历史记录是应用程序逻辑(域层)的一部分,我也感到困惑。因为如果我将其放在“域”层上,则日志文本格式将在用例/交互器上进行硬编码。

1 个答案:

答案 0 :(得分:1)

这取决于您要实现的目标。如果您只想收集用户最常使用的UI元素和UI的哪些部分,则将日志添加到Presentation Layer可能就足够了。

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