【问题标题】:Where does logging fit in the model view controller architecture?日志记录适合模型视图控制器架构的什么位置?
【发布时间】:2013-06-11 04:44:27
【问题描述】:

我想记录通信活动,并作为记录的一部分,在屏幕上的窗口中显示通信历史记录。我当然不希望通信模块知道屏幕,但是任何方法都可以写入日志。然后,日志记录模块会根据需要路由信息(屏幕、文件)。日志记录是否被视为模型的一部分?

【问题讨论】:

  • 如果记录用户操作活动,则记录是控制器的一部分
  • 但它也会记录通信活动。
  • 请指定“通信活动”术语。我不确定我是否理解正确
  • @StanislavTerleckiy 控制器负责记录。
  • 这取决于应用需求...

标签: model-view-controller logging architecture


【解决方案1】:

由实例执行的命令是否被记录不应影响实例本身。这意味着,例如,如果您想记录控制器执行的操作,则控制器本身不应该进行记录或以任何其他方式知道它已被记录。

更好的选择是拥有实例decorated。装饰器需要原始实例和记录器注入的思想构造函数。

假设您的 MVC 组件(来自模式层的视图、控制器和结构)已经通过工厂创建,这将是您在记录模式和未记录模式之间切换的最佳“级别”。

TL;DR

没有。日志记录不是 MVC 三元组本身的一部分。

【讨论】:

    猜你喜欢
    • 2018-11-23
    • 2013-12-06
    • 2016-01-26
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    相关资源
    最近更新 更多