프로젝트에서 나는 로깅을 위해 프런트 엔드로 코드베이스의 어느 곳에서나 메시지를 보내고 사용자에게 표시하는 일반 메커니즘을 개발하려고합니다.모델에서 MVVM Light 참조 사용
오류/예외로 인해 진행 상황 등을보고 할 수있는 메시지가 전송 될 수 있습니다. 처음에는 log4net과 같은 메시지를 사용하여 메시지 데이터를보고 응용 프로그램 수준에서 이러한 메시지를 사용하고 표시 할 사용자 지정 appender가 있다고 생각했습니다/적절하게 기록하십시오. 그러나이 문제가 몇 가지 문제로 인해 최선의 방법이라고 확신하지 못합니다.
1) 프로젝트가 여러 개의 개별 어셈블리로 분할되어 있으며 여러 DLL에 걸쳐 log4net 구성에 문제가 있음을 확인했습니다 .
2)이 메시징 체계는 단순한 로깅이 아니므로 로깅 프레임 워크 사용이 너무 제한적일 수 있습니다.
현재 C# 사용자 지정 메시지 이벤트를 사용하여 어셈블리에서 데이터를 보내고이를 캡처하기 위해 응용 프로그램 수준에서 처리기를 등록합니다.
그러나 MVVMLight의 Messenger 클래스가 어셈블리에서 일반 데이터 패킷 (클래스)을 보내는 방법 인 것을 깨달았습니다. 그러나 모델 코드에서 메시지를 보낼 수 있기 때문에 모델 코드에서 MVVMLight에 불필요하게 의존성이 추가되는지 궁금합니다.
제 생각에 모델 코드는 수정없이 응용 프로그램 프레임 워크에 놓을 수 있도록 가능한 한 종속성이 없어야합니다.
너희들은 어떻게 생각하니?
나는 그것에 대해 생각하지 않았지만 당신이 옳다고 생각합니다. 모델 코드는 일반적으로 재사용되지 않습니다. 깔끔한 해결책 나는 그것을 대답으로 받아 들였다. 답장을 보내 주셔서 감사합니다. – Darran