I just stumbled upon a question at SO about PAC and got interested in the pattern. I'm wondering why it's not as widely used as MVC? What is the MVC benefits compared to PAC?
5 Answers
Technology becomes popular for three reasons:
- It meets a need (or at least appears to)
- It gets publicity - sometimes through deliberate advocacy (marketing), sometimes through just seeing it in action.
- Their cost of adoption is outweighed by the benefits.
Developers who are already happy with MVC-and-friends are unlikely to go looking for alternatives unless they see flaws in their existing approach. I assume MVC and its better-known variants already meets the need to separate concerns for many developers.
Even if they go looking they are unlikely to find it unless others are using it and writing about it. In the case of PAC, I would guess that most develpers are simply unaware of the approach (I hadn't heard of it until I read this question).
Even if they find it, they won't use it unless the benefits outweigh the costs of adoption. Numerous frameworks aleady incorporate an MVC-based approach, making that cost quite high for many developers.
There you have it: people don't use PAC because it lacks marketing.
MVC is more popular because of supporting frameworks
Most people knocking out a web application these days will be following a well-trodden path using design decisions provided by the designers of some web framework or other. In the Java world SpringMVC is a popular choice (perhaps because there is no alternative, PAC or otherwise to muddy the waters). Other developers understand and are happy with the benefits provided by this approach and don't really see a need to change.
MVC works well, is easy to understand and, when used effectively, reduces the complexity of the web application code.
What is the MVC benefits compared to PAC?
Simplicity. For vast majority of projects PAC would be total overkill, while MVC fits them quite nicely.
I hadnt heard of PAC before this but it seems to be exactly the same as MVC
Presentation = View
Abstraction = Model
Control = Controller
-
2
Having a glance on the provided link, it seems to me that-
PAC is more like MVVM than MVC.
To move from MVC to PAC, what we have to do is changing the directory structure. MVC follows a horizontal approach while PAC follows vertical. But logically an application can be thought of following both simultaneously.
-
The title of my question is
Why is MVC more popular than PAC?
. I'm not looking for differences between the patterns.– jgauffinMay 9, 2011 at 7:40 -
1MVVM is quite popular so if they are similar it is a valid response. ;p Model = Abstraction, Control = ViewModel and Presentation = View? May 9, 2011 at 9:01