我一直在研究MVC和MVP,但我不確定它們是我想要的。如何響應一個大的Form1.cs?
我現在有很多模型對象和我的看法是主要形式(Form1.cs的)
的問題是主要的形式變得非常大了。例如,當用戶點擊撤消菜單項時,調用undoButton_Click事件處理程序。這可以。問題是這個事件處理程序中的代碼是10行(彈出undoStack,推動redoStack,更新表單控件等等)。這聽起來可能不是很多,但是當表單上有很多控件時,這些線條很快會加起來。
我一直在想它,我想要一個簡單的解決方案。理想情況下,當調用undoButton_Click時,方法體將是一行代碼。理想情況下,會有一個類(可能來自定義單個Run方法的接口或類似的東西),我可以調用它來執行此撤消操作。
的問題是,undoButton_Click許多表單控件和所述類的成員變量進行操作。這個班級如何獲得這些控制?我無法將表單作爲參數傳遞,因爲所有控件都是私有的。我真的不想讓所有的控制公開或提供大量的公共財產來訪問它們。即使我做了Form1的那些成員變量如何使用undoStack或文檔對象?
這是完全不可行的通過所有需要的參數,因爲paramater名單將是巨大的,如果變化將永遠需要進行這將是一場噩夢。
不太確定如何解決這個問題。但我所知道的是,我的Form1.cs對於對象的邏輯和操作太混亂了。我只想讓它響應事件並調用相應的方法/類來處理事件。
感謝您的閱讀和對文本牆的抱歉。
你能不只是突破的形式進入小控件或部分觀點? – TheCodeKing