我最近经常遇到的一个问题是我的演讲者类(class)变得太大的问题。通常情况下,我可以在不跳过节拍的情况下砍掉一堂普通的大课。但是演示者有时更难削减,而不会使代码更难遵循。
特别是当页面开始填充面向 CRUD 的控件时。有时我会划分控件,但如果它们受到其他控件的影响,则协调逻辑本身就很复杂。有时我会划分列表或网格数据检索,但有时可能会有类似的陷阱。
是否有任何技术、经验法则或您从演示者中重构出来的公共(public)领域?
最佳答案
我通常使用两种方法:
更新
Split View时,我通常首先拆分界面并让我的表单实现多个界面。
public class ComplexForm: Form, ISubView, IOtherSubView
{
...
}
然后我将演示者分成我创建的许多 View 。
public class SubViewPresenter
{
private ISubView subView;
...
}
public class OtherSubViewPresenter
{
private IOtherSubView otherSubView;
...
}
您可以更进一步,将 ISubView 和 IOtherSubView 的实现移至用户控件或保持原样。如果您使用的是 被动 View 模式这是 child 的游戏,因为无论如何表单只处理 UI 逻辑。一旦我拆分了演示者,我会尽量避免演示者之间的直接交流。如果需要任何通信,我会尝试通过域对象间接进行。
关于user-interface - 在 MVP 界面模式中划分已经变得太大的演示者的好做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/835696/