I have been reading and researching about MVC, HMVC, MVP, MVVM and PAC design patterns when I came accross this article by larry garfield > MVC vs. PAC

My Implementation:

Think of a modular app written in PHP, where all modules share same models/abstractions but have their own controllers and views.

Controllers may create sub-requests to other controllers and response from these sub-requests is then included in primary response. Simlar to HMVC, but architecture wise its "not required" for any sub-module to have its own directory and sub-directories containing its own controllers and views

Also views are not their own classes per se but instead views are template files rendered (using a template engine) by a method with in controller. Some might suggest its closer to MVVM at this point, but its not for the reasons its not MVC/MVP however its extremely close to larry garfield's definition of PAC.

after all my research I am inclined to call it PAC driven design pattern, but I am confused hierarchical structure of PAC design patterns, does my implementation matches PAC hierarchy or will be rather be considered as single triad (provided if its in fact PAC based and I am not wrong). Also according to wikipedia:

The agents (or triads) communicate with each other only through the control part of each triad. It also differs from MVC in that within each triad, it completely insulates the presentation (view in MVC) and the abstraction (model in MVC).

What does this mean?

  • Does it mean that in PAC designs, a traid/module in PAC design pattern cannot access models/abstractions of other traids/modules?
  • Or, does it just mean that unlike in MVC, in PAC models and views don't know about each other.
  • That blog article is not very comprehensive (most blog articles aren't; his basically ends with "I'm tired, so I'm going to stop typing now"), and I've never heard of PAC, but it just looks like another variation on the MV* family of patterns. Your emphasis should be on understanding the patterns on their merits, not necessarily ascribing a specific label to them. – Robert Harvey Jun 30 '16 at 15:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.