我有一個winforms應用程序,我沒有遵循任何類型的設計模式。我的問題是,我有這些基類包含我所有的業務邏輯。當發生異常或我需要向用戶顯示一個對話框時,我已將代碼直接寫入需要它的基類中。C#,從業務邏輯中分離消息顯示代碼
我知道我需要分離業務邏輯和顯示邏輯,所以我編寫了一個靜態類,其中包含我需要顯示消息的方法。
我的問題是,是否有一種更簡單的方法將業務邏輯從顯示中分離出來?
我的靜態方法是這樣的,
public static void DisplayMessage(string message)
{
MessageBox.Show(message);
}
public static bool DisplayDialogBox(string message,string caption)
{
DialogResult newresult = new DialogResult();
newresult = MessageBox.Show(message,caption,MessageBoxButtons.OKCancel);
if (newresult == DialogResult.OK)
{
return true;
}
else
{
return false;
}
所以我會調用從基類的這些方法,如
MsgDisplay.DisplayMessage(e.Message);
,是這種方法的好的做法呢?
這是真的。這就是爲什麼我提出這個問題。你能舉一個如何分解一個方法的例子嗎?例如,如果我有我的mainForm和一個類的方法,在將來返回一個日期可以說。而這種方法可能會引發異常。我將如何分解顯示消息的方法?我很抱歉,這可能是一件非常簡單的事情,這是我建立的第一個應用程序,您的幫助表示感謝。 – shani
沒有代碼就很難說出來。你可能想嘗試http://codereview.stackexchange.com/ –
我最終打破了你在基類中建議的方法。並向UI層拋出異常。現在邏輯流程由UI層控制。感謝名單! – shani