加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – MVP和演示者粒度

发布时间:2020-12-15 06:43:37 所属栏目:百科 来源:网络整理
导读:我们一直在使用MVP模式和 Winforms取得相当的成功.然而,一个问题总是弹出关于MVP的问题: 主持人的细粒度是多少? 我的意思是:使用Winforms,细粒度通常对用户控件来说非常有用.这样,在设计更复杂的GUI时,很容易重复使用用户控件并将其用作构建块.然而,与演
我们一直在使用MVP模式和 Winforms取得相当的成功.然而,一个问题总是弹出关于MVP的问题:

主持人的细粒度是多少?

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

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

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

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

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

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

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读