我正在编写我的第一个应用程序,使用ASP.NET MVP(尝试监督控制器)和单元测试(迟到总比没有好!),我遇到了一个两难的境地.我写了3个用户控件,所有测试和界面,主持人.现在我来到一个采用这三个用户控件的页面,遇到了以下问题:
用户控件1是DateSelector,它是一个带有其他几个按钮/列表的Calendar控件.没什么真正令人兴奋的
用户控件2是DailyList.猜猜它是什么.无论如何,你可以选择/删除等.如果你从gridview中选择一个项目,它需要填充用户控件3.
用户控件3是ItemDetail.下面是DropDownLists,TextBoxes等...其中一些与其他人存在依赖关系(在DropDown中选择一个选项会影响DropDown 2中的选项).
如果我从DateSelector中选择一个新日期,我是否从DateSelector Presenter中引发事件?我必须以某种方式让其他用户控件知道选择了一个新日期,以便他们可以重新绑定他们的数据,但是如何?如果我使用Page的Presenter订阅用户控件视图的演示者,我是不是会公然违反Demeter法则(通过他们的视图将演示者公开为属性)?我不能使用Page的Presenter作为页面的全知控制器吗?有什么我想念的吗?
到目前为止,我所阅读的所有内容都表示,"即使使用用户控件,MVP也很棒",但在使用示例时,用户控件的使用很容易被遗忘.在我看来,MVC将更加贴近我对此的思考模式,但目前,MVC不是一种选择.任何帮助都会很棒.提前致谢.