Alternatives to the MVC [closed]
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.
There are many others:
-
Model View Presenter (MVP)
- Supervising Controller
- Passive View
-
Model View ViewModel (MVVM)
- This is common in WPF applications (though Prism uses the MVP pattern (usually))
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.
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