自从我开始为 .NET 阅读和使用各种语言编写程序以来,有人告诉我,您的程序中的任何内容的“全局”都是非常非常糟糕的。整个想法对我来说似乎没有任何意义。在过去的 10 到 13 年里,我一直是一名程序员/软件开发人员,我开始接受这样一个事实,即作为一名程序员,有时你不能只编写代码而不使用全局对象或变量。
全局变量或对象确实会导致程序中的错误,但这并不意味着它是由于编程语言或编译器本身,而是程序员本人。
就全局窗口表单而言,当您无法将表单实例作为参数传递时,您如何期望能够以编程方式从程序的其他部分更改“SAME”窗口表单属性? . 如果窗口窗体不是全局窗体,则每次程序需要显示或更改其属性时,都必须在本地实例化一个新窗体,但是新窗体将与您打开的第一个窗体不同。如果表单在 private、protected 或 public 部分下的类中声明,则需要实例化该类,然后需要实例化表单本身并在需要的地方传递。我相信你会在这样做时遇到其他一些编程问题。
我什至不知道他们为什么会改变 CLOSE 方法的真正定义。关闭意味着关闭而不是处置。
我并不是要贬低 Global 不好的整个想法。我只是想了解为什么以及以何种方式。
有人可以解释并给我一个示例,说明如何在没有单个“全球”窗口形式甚至变量的情况下完全编程?假设一个程序有两个窗口窗体。一个是主窗体,另一个窗体有一个 Ttimer 和一个标签。主窗体有一个 Tbutton 和单击事件,可打开第二个窗体。第二种形式 Timer 有一个 Tick 事件,每秒将当前日期和时间设置为其标签文本属性。当您单击 TButton 时,它应该打开第二个窗体并每秒显示当前日期和时间。现在向我展示我在 C# 或 Delphi XE 或 prism 或 C++ 或 VB 中描述的上述程序的代码,没有任何全局变量(S)。
谢谢,