У меня есть многопоточное приложение wpf с различными интерфейсами HW.
Я хочу реагировать на несколько сбоев HW, которые могут произойти.
Например:
один изИнтерфейсы это датчик температуры, и я хочу, чтобы от определенной температуры.появится сообщение и уведомит пользователя о том, что это произошло.
я придумал следующий дизайн:
/// <summary>
/// This logic reacts to errors that occur during the system run.
/// The reaction is set by the component that raised the error.
/// </summary>
public class ErrorHandlingLogic : Logic
{
}
вышеприведенный класс будет использовать ErrorEventData, которая содержит всю информацию об ошибке, котораяпроизошло.
public class ErrorEventData : IEventData
{
#region public enum
public enum ErrorReaction
{
}
#endregion public enum
#region Private Data Memebers and props
private ErrorReaction m_ErrorReaction;
public ErrorReaction ErrorReactionValue
{
get { return m_ErrorReaction; }
set { m_ErrorReaction = value; }
}
private string m_Msg;
public string Msg
{
get { return m_Msg; }
set { m_Msg = value; }
}
private string m_ComponentName;
public string ComponentName
{
get { return m_ComponentName; }
set { m_ComponentName = value; }
}
#endregion Private Data Memebers and props
public ErrorEventData(ErrorReaction reaction, string msg, string componenetName)
{
m_ErrorReaction = reaction;
m_Msg = msg;
m_ComponentName = componenetName;
}
}
вышеупомянутый ErrorHandlingLogic решит, что делать с ErrorEventData, отправленной ему из различных компонентов приложения.
при необходимости он будет перенаправлен в графический интерфейс для отображениясообщение пользователю.
так что вы думаете, это хороший дизайн?
спасибо, Адиэль.