我理解Model-View-Presenter模式是一个好的模式的一般原因。它将关注点分离,使得处理向用户呈现信息的代码部分不必担心计算等问题。我的问题是为什么我们需要一个本质上什么都不做的视图?所有视图要做的就是告诉Presenter去做工作,并从Presenter那里获取结果。例如,在我的C#视图中,我经常只有一堆事件处理程序,调用在Presenter中实现的委托。为什么不将视图和Presenter合并?因为视图没有任何关注点,所以没有任何关注点被分离。
我理解Model-View-Presenter模式是一个好的模式的一般原因。它将关注点分离,使得处理向用户呈现信息的代码部分不必担心计算等问题。我的问题是为什么我们需要一个本质上什么都不做的视图?所有视图要做的就是告诉Presenter去做工作,并从Presenter那里获取结果。例如,在我的C#视图中,我经常只有一堆事件处理程序,调用在Presenter中实现的委托。为什么不将视图和Presenter合并?因为视图没有任何关注点,所以没有任何关注点被分离。
两个重要的优点:
我们可以轻松编写多个视图或替换视图(例如 WinForms => WPF 实现)
通过为单元测试创建测试视图,我们可以增加可测试性