Mar*_*ers 3 mvp user-interface refactoring
我最近经常遇到的一个问题是我的演示者课程变得太大了.通常,我可以在不跳过节拍的情况下切断常规的大班.但是主持人有时候会更难以削减,而不会让代码更难以遵循.
特别是当页面开始填充CRUD导向控件时.有时我将控制分开,但如果它们受到其他控制的影响,协调逻辑本身就很复杂.有时我将列表或网格数据检索分开,但有时候会有类似的陷阱.
是否有任何技术,或经验法则或您从演示者中重构的公共区域?
我通常使用两种方法:
更新
在拆分视图时,我通常首先拆分接口并让我的表单实现多个接口.
public class ComplexForm: Form, ISubView, IOtherSubView
{
...
}
Run Code Online (Sandbox Code Playgroud)
然后我将演示者分成了我创建的许多视图.
public class SubViewPresenter
{
private ISubView subView;
...
}
public class OtherSubViewPresenter
{
private IOtherSubView otherSubView;
...
}
Run Code Online (Sandbox Code Playgroud)
您可以更进一步,将ISubView和IOtherSubView的实现移动到用户控件或保持原样.如果您使用的是被动视图模式,那么这是儿童游戏,因为表单只会处理UI逻辑.一旦我拆分演示者,我会尽量避免演示者之间的直接沟通.如果需要任何通信,我尝试通过域对象间接进行.
| 归档时间: |
|
| 查看次数: |
1738 次 |
| 最近记录: |