c# – MVP和演示者粒度

前端之家收集整理的这篇文章主要介绍了c# – MVP和演示者粒度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们一直在使用MVP模式和 Winforms取得相当的成功.然而,一个问题总是弹出关于MVP的问题:

主持人的细粒度是多少?

我的意思是:使用Winforms,细粒度通常对用户控件来说非常有用.这样,在设计更复杂的GUI时,很容易重复使用用户控件并将其用作构建块.然而,与演示者具有相同(精细)的粒度似乎是一个问题.

一方面,粗粒度的主持人阻碍了使用“插件”控件的能力,并且违反了DRY原则:多个演示者通常需要实现相同的逻辑(例如,填写客户列表),其中被多个更复杂的控件使用.

另一方面,细粒度的主持人似乎限制了在不同情况下重用控制的能力.例如,编辑视图有时可能需要立即保存客户;有时它需要链接到别的东西;有时只需要验证它;等等.它往往取决于更复杂的控制.但也有相当多的共同行为.

注意,在这两种情况下,可以实现1-演示者1视图.被认为是“1视图”的变化.

通常使用MVP和Winforms作为演示者粒度的最佳实践?

>细粒度的主持人和可定制的行为通过选项或某种性质的?
粗粒度演示者和低演示者可重用性?
>还有什么?

免责声明:我们主要使用监督控制器,但我认为也适用于被动观察.对于长期的问题也很抱歉.

解决方法

我们在所有客户使用MVP,这绝对是一次不止一次的对话.我们的代码背后的课程和主持人应该干净多少?话虽如此,我们选择使用粗粒度的演示者方法.基本上,每个表单都有自己的演示者,只能使用其视图来获取和设置特定表单上的任何控件的属性.填充控件 – 调用db来填充组合框,例如位于公共服务类中.用户输入数据的任何验证都位于BO类中,可由任何和/或所有演示者重复使用.我希望这有帮助.

猜你在找的C#相关文章