アプリケーションがあります(レガシーコード)
メソッドとのインターフェースが含まれていIcomponent
ますsave()
そしてそれを実装する多くのクラス。
save()ごとにログを追加したい。
updae:
デザインのアイデアはほとんどありませんでした。
- SingeltonLogger-ログに記録可能なすべてのアクションの後に呼び出されます
シンゲルトンの典型的なケースだと思いますLogService
が、ユニットテストには難しいと思います。
- Iocを使用したデコレータ+ロガーの初期化
Icomponent
追加のlog()
方法でデコレータパターンを使用します。
LogService
各デコレータから呼び出されるクラスを作成しますlog()
- AOP-アスペクト指向プログラミング
私はこれについて少し読みましたが、それを知りません。
それはc#に適用できますか?
- そのソリューションに対するあなたのデザインは何でしょうか?
update2
コードを読んだ後、インターフェイスの別のレイヤーがあることがわかります
コンクリート層の前。私はすべての特定のインターフェースを飾るべきではないと思います。右?
I_AComponente : IComponente
I_BComponente : IComponente
A : I_AComponente
B : I_BComponente