是PAC,只是MVP被动视图?

Is PAC, just MVP with passive view?

简而言之:是PAC(演示文稿吗?抽象?控制)设计模式,仅MVP(模型?视野?演示者)视图是被动视图的模式?

据我所知

  • MVP是一个演示者,与模特交谈。然后视图与演示者对话,另一种方式是,演示者也可以与视图对话,即:

    1
    View <--> Presenter --> Model

    来自视图[*]的传入用户事件。

  • PAC是一个控制器,它同时与表示和抽象进行对话,但是表示不与控制器进行对话(但是仍然发送控制器可能拦截的事件),即:

    1
    Presentation <-- Controller --> Abstraction

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

这让我感觉到PAC和MVP是一样的,视图是被动的。这是对这两种模式的正确解释吗?

[*]:与MVC不同,用户事件来自控制器

另外,这可以问一个关于stackoverflow上设计模式的一般问题吗?还是有更好的地方?我有一个疑问,因为这更多的是一个设计而不是编程问题。


区别在于应用程序的结构。虽然MVC和其他受MVC启发的模式只有一个Triad,但是PAC结构是分层的。

您得到的是一个Control实例树,它组装了应用程序。

&enter image description here

在这些三元组中,控件从抽象中获取数据并将其放置在表示中。

还有hmvc模式,它对pac模式有一点不同的解释,其中控件(重命名为控制器)只应该操作表示状态(重命名为视图)和抽象状态(模型层)。在这种情况下,视图直接与模型层通信,并提取它需要的内容。

基本上,pac是分布式MVP,hmvc是分布式Model2 MVC。