讓我更加精確。在我的winforms項目中,創建類來管理/創建程序的每個部分。我做了更多的控制我的代碼。例如。我有一個管理我的DataGridView控件的類。我將它命名爲gridManager,並在其中設置所有屬性,顏色等,並且我還有方法來更改這些設置(例如changeBackgroundColor()等)。 我還爲splitContainer中的每個面板都有這種類型的類。在這些類中,我初始化每個控制面板的子項,我將它們添加到該面板中設置所有屬性等等。每當我可以很好的練習時,都使用靜態類嗎?
我寫了所有內容,讓您更好地瞭解這些課程的目的。
現在我的問題是:這是不是很好的做法,使這個類是靜態的?所有的控件和方法都是靜態的?
起初,我讓他們非靜態的,但是當我想呼籲(EG)從選項改變顏色的方法表格,我不得不要麼通過MainForm中作爲一個參數或不喜歡這樣寫道:
(Application.OpenForm[0] as MainForm).gridManager.changeColor();
它的靜態版本使它更容易。但它讓我懷疑它是否是一件好事。 呃很多解釋,我希望我的不完美的英語不會讓它更難以理解。 :)
我甚至會盡可能地避免標準單例模式。國際海事組織最好將它註冊爲你的DI容器中的單身人士。這樣,你就不會假設什麼東西是消費代碼中的單例。 – CodesInChaos 2011-06-09 21:21:48