日志记录在模型视图控制器体系结构中适合什么地方?

Bru*_*uce 5 architecture model-view-controller logging

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

ter*_*ško 3

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

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

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

长话短说

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