Model view controller MVC模式中的控制器和MVP模式中的演示者有什么区别?

Model view controller MVC模式中的控制器和MVP模式中的演示者有什么区别?,model-view-controller,design-patterns,mvp,Model View Controller,Design Patterns,Mvp,MVC模式中的控制器和MVP模式中的演示者有什么区别?您能否提供链接以了解它们的优点和使用场景 在MVP中,演示者承担“中间人”的功能(由MVC中的应用程序控制器扮演)。此外,视图还负责处理UI事件(如mouseDown、keyDown等),这曾经是控制器的工作。最终,该模型成为严格意义上的领域模型 说 这是一本书 另请参见Martin Fowler的。在MVC中,视图仅由模型更新(通过侦听其事件)。控制器永远不会更新它。当您需要格式化视图的模型数据时,这是有问题的,因此需要MVP 在MVP被动

MVC模式中的控制器和MVP模式中的演示者有什么区别?您能否提供链接以了解它们的优点和使用场景

在MVP中,演示者承担“中间人”的功能(由MVC中的应用程序控制器扮演)。此外,视图还负责处理UI事件(如mouseDown、keyDown等),这曾经是控制器的工作。最终,该模型成为严格意义上的领域模型

这是一本书


另请参见Martin Fowler的。

在MVC中,视图仅由模型更新(通过侦听其事件)。控制器永远不会更新它。当您需要格式化视图的模型数据时,这是有问题的,因此需要MVP

在MVP被动视图中,视图仅由演示者更新(演示者设置视图属性)。在更新视图之前,演示者将侦听模型上的事件[根据需要修改数据]


在MVP监控控制器中,视图由模型或演示者更新。如果不需要格式化,则视图会通过模型自动更新。如果需要格式化,它会通过演示者进行自我更新

另见,谢谢。你是唯一一个以直截了当的方式解释这一点的人