我应该在何时记录用户,域或表示层上的操作?
如果表示层(假设MVP):在演示者调用交互器/用例之后,它将调用另一个用例来添加活动/历史日志。
如果域层:在交互器/用例本身执行操作后,它将保存到历史/活动日志存储。
我很困惑,如果历史/活动日志是表示层的一部分,因为将要记录的文本/操作(例如字符串:用户喜欢此评论)在域图层上看起来不需要。
但是,如果历史记录是应用程序逻辑的一部分,我也很困惑,它是域层。因为如果我将它放在Domain层上,日志文本格式将在usecase / interactor上进行硬编码。
这取决于你想要达到的目标。如果您只想收集用户最常使用的UI元素和UI的哪些部分,则将日志记录添加到表示层可能就足够了。
如果您的重点是记录用户最常使用的功能以及如何使用它,那么日志记录应该位于域层/应用程序层中。在这种情况下,决定为每个“活动”记录哪些信息是业务规则的一部分。您可能希望使用类似存储库模式的东西来保持域层独立于日志的实际写入。