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
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.