自從我開始爲.NET編寫各種語言的程序並進行編程時,我被告知程序中任何內容的「全局」都非常糟糕。這個想法對我來說似乎沒有任何意義。在過去的10到13年中,他一直是程序員/軟件開發人員,我接受這樣一個事實,即作爲一名程序員,如果不使用全局對象或變量,就不能編寫代碼。全球窗口形式比。本地或私人窗口形式
確實全局變量或對象可能會導致程序中的錯誤,但這並不意味着它是由於編程語言或編譯器本身,而是程序員自己或她自己。
就全局窗體形式而言,當您無法傳入實例時,您希望如何在事件中以程序的其他部分以編程方式更改「SAME」窗口窗體屬性形式作爲參數。如果一個窗體不是全局的,那麼每次程序需要顯示或改變其屬性時,都必須在本地實例化一個新窗體,但是新窗體將不會與您打開的第一個窗體相同。如果表單在私有,受保護或公共部分的類中聲明,那麼該類需要實例化,然後表單本身需要實例化並在需要的地方傳遞。我相信你會遇到一些其他的編程問題。
我甚至不知道他們爲什麼甚至會改變CLOSE方法的真正定義。關閉意味着關閉不處理。
我並不是想要放下全球化的壞想法。我只是想了解爲什麼以及以何種方式。
有人可以解釋一下,並給我一個例子,說明如何在沒有單個「GLOBAL」窗口或者甚至是變量的情況下完全編程?假設一個程序有兩個窗口窗體。一個是主要形式,另一個形式有Ttimer和一個標籤。主窗體有一個Tbutton和點擊事件,打開第二個窗體。第二種形式Timer有一個Tick事件,它每秒將當前日期和時間設置爲它的標籤文本屬性。當你點擊TButton時,它應該打開第二個窗體並且每秒顯示當前的日期和時間。現在,向我展示用C#或Delphi XE或Prism或C++或VB描述的上述程序的代碼,但不包含任何全局變量(S)。
感謝,
爲什麼不能將第二個窗體作爲主窗體的私有成員變量,並通過Form.Show()和Form.Hide()隱藏或顯示? –