我有一個可以被稱爲無論是從GUI或形成非圖形環境(批處理模式)
更改代碼行爲取決於上下文
什麼是最方便的最佳實踐方式「告訴」類代碼的GUI相關部分在批處理模式下執行時不執行。
我覺得像
public MyMethod()
{
[@TAG: DOTHIS_ONLY_IF_GUIMODE]
ShowPanels();
....
}
而且GUI_MODE_ACTIVATED將某處設置爲true或運行時錯誤,具體情況取決於程序從
叫我想避免醜陋的跟蹤,如果/其他東西散佈在我的代碼中。
我的小拇指告訴我AOP是要走的路(但如果我設法找到一個更簡單的替代方案,我會去的)
那麼,什麼是最簡單和最直接的方式來做到這一點?
更新: 由於大多數撰稿人指出,從業務代碼分離GUI代碼是一個經驗法則,但是,我還是想知道如何做到這一點,即使NO GUI參與(即兩種不同的模式,批了兩個不同的環境,例如)
我知道,但我沒有真正的選擇,我有遺留代碼,我必須應付它。 – 2010-12-01 20:30:14
@Mika Jacobi:你的意思是你沒有選擇?你顯然現在正在重構。 – jason 2010-12-01 20:32:25
這比這更復雜一點,應用程序的體系結構非常嚴格,我不掌握所有的後果(因爲代碼被其他應用程序調用,暫時超出我的範圍),所以我更喜歡謹慎。 – 2010-12-01 20:42:13