18

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 5

19

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.

0
3

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.

2

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.

2

I hadnt heard of PAC before this but it seems to be exactly the same as MVC

Presentation = View
Abstraction =  Model
Control = Controller
1
  • 2
    You're missing the hierarchical part
    – vartec
    May 9, 2011 at 9:46
1

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.

2
  • The title of my question is Why is MVC more popular than PAC?. I'm not looking for differences between the patterns.
    – jgauffin
    May 9, 2011 at 7:40
  • 1
    MVVM 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

Not the answer you're looking for? Browse other questions tagged or ask your own question.