'Alternatives to the MVC [closed]

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?



Solution 1:[1]

There are many others:

Solution 2:[2]

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.

Solution 3:[3]

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.

Solution 4:[4]

Solution 5:[5]

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.

Solution 6:[6]

We use not so much an alternative but a hybrid called MVC-ARS.

Solution 7:[7]

I know the MVCS from Joe Berkovitz.

Prof. Kowarschick used that approach to develop the VCLSD-Pattern (Wiki written in german! Maybe someone has time, to translate it - as for myself I am only a beginner in programming)

MVCS: Model View Control Service
VCLSD: View Control Logic Service Data

Solution 8:[8]

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.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jason Olson
Solution 2 SailsMan63
Solution 3 Srinivasan A Paul Joseph
Solution 4
Solution 5 Hector Sosa Jr
Solution 6 Community
Solution 7 Himanshu Jansari
Solution 8 Novellizator