clean-architecture - 清理架构历史/活动记录
问题描述
我应该在哪里记录用户的操作,在域或表示层上?
如果 Presentation Layer (Assuming MVP):presenter调用interactor/usecase后,会调用另一个usecase添加一个activity/history log。
如果域层:在交互器/用例本身执行操作后,它将保存到历史/活动日志存储。
如果历史/活动日志是表示层的一部分,我会感到困惑,因为将记录的文本/操作(例如字符串:用户喜欢此评论)在域层上看起来不需要。
但是如果历史记录是应用程序逻辑的一部分,我也很困惑,即域层。因为如果我将它放在域层上,日志文本格式将在用例/交互器上硬编码。
解决方案
这取决于您想要达到的目标。如果您只想收集用户最常使用的 UI 元素和 UI 的哪些部分,将日志记录添加到表示层可能就足够了。
如果您的重点是记录用户最常使用的功能以及如何使用它,那么记录应该在域层/应用层中。在这种情况下,决定为每个“活动”记录哪些信息是业务规则的一部分。您可能希望使用存储库模式之类的东西来保持域层独立于日志的实际写入。
推荐阅读
- reactjs - React Router v4 - 设置链接组件样式的有效方法
- r - 如何用 r 中的 00 分钟和 00 秒解析日期和时间?
- android - 如何解决我的应用在 Google Play 控制台上的拒绝问题
- laravel - Laravel AJAX 通过 API Controller / Passport 请求
- angular - 区分ngFor中同名的viewChild
- scala - 点燃从 HDFS 读取的 CONFIG
- c# - Unity 视频播放器无法在我的 android 上运行
- appium - 无法在 Appium + Robot Framework 中使用 Xpath,其中 Appium 将其显示的错误消息记录为 contextId: 'multiple: true'
- user-permissions - Mojave 命令行工具的摄像头和麦克风权限
- ruby-on-rails - 如何从 link_to 帖子中调用控制器中的邮件操作