首页 文章

是PAC,只是MVP被动视图?

提问于
浏览
1

简而言之:PAC(Presentation-Abstraction-Control)设计模式,只是MVP(Model-View-Presenter)模式,其中视图是被动视图?

据我所知

  • MVP是演示者,与模特交谈 . 然后一个View与Presenter交谈,另一方面,Presenter可以与View交谈,即:
View <--> Presenter --> Model

来自View [*]的传入用户事件 .

  • PAC是一个控制器,它与Presentation和Abstraction进行对话,但是Presentation不与Controller通信(但仍然发送Controller可能拦截的事件),即:
Presentation <-- Controller --> Abstraction

来自演示文稿(?)的传入用户事件 .

这让我觉得理解PAC与MVP相同,其中视图是被动的 . 这是对这两种模式的正确解释吗?

[*]:与MVC不同,用户事件来自Controller

附:在Stackoverflow上询问有关设计模式的一般问题是否可以?还是有更好的地方?我有一个疑问,因为这更像是一个设计而不是一个编程问题 .

1 回答

  • 2

    不同之处在于应用程序的结构 . 虽然MVC和其他MVC启发的模式只有单个三元组,但PAC结构是分层的 .

    你得到的是 Control 实例的树,它组装了应用程序 .

    enter image description here

    在每个三元组中,Control从Abstraction中获取数据并将其放置在Presentation中 .

    还有HMVC模式,这是对PAC模式的一种不同的解释,其中Control(重命名为Controller)仅用于操纵Presentation(重命名为View)和Abstraction(Model层)的状态 . 在这种情况下,视图直接与模型层通信并提取它所需的内容 .

    基本上,PAC是分布式MVP,而HMVC是分布式Model2 MVC .

相关问题