What are the alternative "design methods" to the Model View Controller? MVC seems to be popular (SO was built with it, I know that much) but is it the only method used?
8 Answers
One of the best write-ups of several different Interactive Application Architecture Patterns out there, is this very detailed and well-researched blog-post. It covers Model-View-Controller, three different flavors of Model-View-Presenter, several different flavors of Presentation-Abstraction-Control, Supervising Controller, Passive View and Hierarchical MVC.
Another interesting pattern is the Presenter First pattern by Atomic Objects. It's not just a Design Pattern, it's also a Process Pattern. IOW: the name "Presenter First" is not arbitrary, it actually describes a development process, in which the Presenter gets written first, driving the design of the rest of the system.

- 239
- 3
- 14

- 363,080
- 75
- 446
- 653
There are many others:
-
- This is common in WPF applications (though Prism uses the MVP pattern (usually))

- 3,616
- 2
- 21
- 24
-
12Not really alternatives, more variations on a theme, +1 for links – mezmo May 19 '11 at 14:45
MVC is an architectural pattern. These are the other Architectural patterns you can try (from Wikipedia):
- Layers
- Multi-tier Architecture
- Presentation Abstraction Control (PAC)
- Model View Presenter (MVP)
- Model View ViewModel (MVVM)
- Pipeline
- Implicit Invocation
- Blackboard System
- Peer-to-Peer
- Service Oriented Architecture (SOA)
- Naked Objects
These are available here in Wikipedia.

- 209
- 2
- 3
DCI - "Data, Communication and Interaction"
http://www.antonioshome.net/kitchen/nbdci/index.php#dci-introduction
http://www.artima.com/articles/dci_visionP.html
The Common Sense of Object Orientated Programming - MVC vs DCI

- 10,748
- 12
- 69
- 103
-
2DCI **is** an aternative to MVC. What's with the down vote? – java.is.for.desktop Sep 18 '11 at 07:09
-
2
MVC is part of a greater group of design patterns. I have no idea how much experience you have, so I'm not sure how to target this response. I'm a .NET programmer, but I found the Java book Head First Design Patterns extremely helpful. Design patterns are usually broken into groups with other patterns that help solve similar problems.
I also found the Data Object Factory website quite helpful as well. You should look around for some resources in your favorite language.

- 4,230
- 27
- 30
-
2As an aside, I read the Head First book as a c# programmer, and the examples were easy enough to understand without Java experience. – Steve Duitsman Sep 28 '08 at 14:38
How about flux.js from Facebook? I know it's platform dependent, but it's a data flow architecture used by FB as a replacement for MVC, so I believe you can get some ideas from there too.

- 13,633
- 9
- 43
- 65