问题描述
|
请让我知道以下哪一项是良好的编程习惯:
1.使用静态类,然后使用MainWindow类构造函数对其的引用,如下所示:
public partial class Mainwindow : Window
{
public MainWindow()
{
InitializeComponent();
UI.window = this;
}
private void button1_Click(object sender,RoutedEventArgs e)
{
Shutdownads attempt1 = new Shutdownads();
}
}
static class UI
{
public static MainWindow window;
}
/*and then refering to the wpf elements from other classes as follows
UI.window.textbox.Text=\"blahblah\"
UI.window.button ... and so on
*/
要么
2.将所有类都包含在MainWindow类中的程序中是否更好?
要么
3.是否有更好的选择(它还实现了更好的OOP以及我可以通过其他类访问UI)?
解决方法
通常,从多个类控制UI元素是较差的做法。
您应该创建一个接口,该接口公开从其他类中抽象UI的方法和属性,并在
MainWindow
类中实现该接口。
其他类可以将该接口作为构造函数参数接受,也可以从静态类中使用它。
,我不完全知道winforms。但是您应该遵循mvc模型。
通常,您有主类(您的案例主窗口),它是控制器。因此,所有视图(子元素)均由此类控制。子元素可以保存对主窗口的引用。
主要班级应该非常考究。
当然,模型也应该解耦。
静态类是不好的做法。别。
,好的做法是创建不耦合的代码。如果您使用这种方法,那么很可能会忘记提交更改的位置...
对“远”事件做出反应的可能性是实现观察者模式。这样,您就可以在表示层上真正地处理可视化的更改(在本例中为MainWindow)