我一直在研究MVC和MVP,但我不确定它们是我想要的。如何响应一个大的Form1.cs?
我现在有很多模型对象和我的看法是主要形式(Form1.cs的)
的问题是主要的形式变得非常大了。例如,当用户点击撤消菜单项时,调用undoButton_Click事件处理程序。这可以。问题是这个事件处理程序中的代码是10行(弹出undoStack,推动redoStack,更新表单控件等等)。这听起来可能不是很多,但是当表单上有很多控件时,这些线条很快会加起来。
我一直在想它,我想要一个简单的解决方案。理想情况下,当调用undoButton_Click时,方法体将是一行代码。理想情况下,会有一个类(可能来自定义单个Run方法的接口或类似的东西),我可以调用它来执行此撤消操作。
的问题是,undoButton_Click许多表单控件和所述类的成员变量进行操作。这个班级如何获得这些控制?我无法将表单作为参数传递,因为所有控件都是私有的。我真的不想让所有的控制公开或提供大量的公共财产来访问它们。即使我做了Form1的那些成员变量如何使用undoStack或文档对象?
这是完全不可行的通过所有需要的参数,因为paramater名单将是巨大的,如果变化将永远需要进行这将是一场噩梦。
不太确定如何解决这个问题。但我所知道的是,我的Form1.cs对于对象的逻辑和操作太混乱了。我只想让它响应事件并调用相应的方法/类来处理事件。
感谢您的阅读和对文本墙的抱歉。
你能不只是突破的形式进入小控件或部分观点? – TheCodeKing