2011-09-06 26 views
0

我正在開發一個應用程序,我希望我的客戶端類儘可能乾淨。 我想用調解模式的(可以在以下地址中找到) http://www.codeproject.com/KB/aspnet/SoftArch2.aspxC#中介GUI模式(Winforms)的最佳實踐

的問題是,我可以GUI含有大量的管制,將需要大量的維護。 它是一個很好的做法,我的客戶端形式的中介類例如參考:

class GuiMediatorObj 
{ 

    private static mainForm _clientForm 

    public GuiMediatorObj(mainForm parent) 
    { 
      _mainForm = parent; 
    } 

public void print() 
{ 
    clientForm.TextBox1.Text = "some text; 
} 

} 

感謝

回答

0

聲明:我之前沒有帶使用的調解模式。 (至少不自覺地)

但是,從它看起來我會認爲你所提議的沒有任何問題,我甚至會認爲它更好,因爲它允許你在類似的表單上重複使用相同的中介器並且它從父表單本身刪除了更多的代碼。您也可以將其視爲用新功能「裝飾」窗體。 (另見裝飾圖案)

當然它也取決於中介的目標,如果你希望能夠在文本框之間快速切換,那麼需要手動添加每一個控件才能更好,但如果你是「添加功能」到具有某些屬性的通用表單,並希望在幾個相似的表單上重用它,那麼將整個表單作爲輸入會更好。

這也取決於你將表格封裝在第一位的程度。如果所有的孩子控制因爲某種原因已經是私人的,那麼讓他們公開在調解員那裏訪問它們可能是一個壞主意。