我有一个应用程序(旧代码)
包含方法Icomponent
的接口save()
以及许多实现它的类。
我想在每次保存()之后添加日志。
更新:
我有几个设计想法:
- Singelton Logger - 将在每个可记录的操作后调用
我认为这LogService
是 singelton 的经典案例,但我读到它很难进行单元测试。
- 带 Ioc 的装饰器 + 记录器初始化
使用装饰器模式Icomponent
和其他log()
方法。
创建LogService
从每个装饰器调用的类log()
- AOP——面向方面编程
我读过一点,但不知道。
它适用于 c# 吗?
- 您对该解决方案的设计是什么?
更新2
看了代码,发现还有一层接口
在混凝土层之前。我认为我不应该装饰每个特定的界面。正确的?
I_AComponente : IComponente
I_BComponente : IComponente
A : I_AComponente
B : I_BComponente