IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

http://todomvc.com/

Introducció

Són les inicials de Model View Controller o Model Vista Controlador

The Model-View-Control (MVC) pattern, originally formulated in the late 1970s, is a software architecture pattern built on the basis of keeping the presentation of data separate from the methods that interact with the data. In theory, a well-developed MVC system should allow a front-end developer and a back-end developer' to work on the same system without interfering, sharing, or editing files either party is working on.

Even though MVC was originally designed for personal computing, it has been adapted and is widely used by web developers' due to its emphasis on separation of concerns, and thus indirectly, reusable code. The pattern encourages the development of modular systems, allowing developers to quickly update, add, or even remove functionality.

MVC is an exercise in Separation of Concerns, a UI architecture. It is a way to corral the complexity that can occur in user interfaces due to the presentation not being separated from the content.

Diagrama:

https://en.wikipedia.org/wiki/File:MVC-Process.png

Videos

https://teamtreehouse.com/library/enhancing-a-simple-php-application/refactoring-the-codebase/separating-concerns-mvc
https://laracasts.com/index/mvc

HMVC

Recursos

Client-side MVC

Client-side MVC. se l'anomena així a l'ús de Frameworks Javascript per a la creació d'aplicacions web. Vegeu

Recursos:

Model View Whatever

Model View Whatever aka MVW o MV* és un terme creat per Angular.js que indica la capacitat que té un Framework per poder treballar amb el paradigma MVC o si s'escau també amb MVVM. El programador pot escollir entre separar més la vista de la lògica de l'aplicació (MVC) o que el mòdel llegeixi els canvis en una vista per ell mateix i s'actualitzi MVVM

Recursos:

Model View ViewModel MVVM

https://addyosmani.com/resources/essentialjsdesignpatterns/book/#detailmvvm

Model View ViewModel aka MVVM

Vegeu Vue i la imatge: mvvm.png

MVVM is a variation of Martin Fowler's Presentation Model design pattern.[1][2] Like Fowler's Presentation Model, MVVM abstracts a view's state and behavior.[1] However, whereas the Presentation Model abstracts a view (i.e., creates a view model) in a manner that does not depend on a specific user-interface platform, MVVM was developed at Microsoft specifically to simplify event-driven programming of user interfaces—by exploiting features of Windows Presentation Foundation (their .NET graphics system) and Silverlight (WPF's Internet application derivative).[1]

John Gossman, one of Microsoft's WPF and Silverlight architects, announced MVVM on his blog in 2005.

MVVM and Presentation Model both derive from the model–view–controller pattern (MVC). MVVM facilitates a separation of the development of the graphical user interface (either as markup language or GUI code) from the development of the business logic or back-end logic (the data model). The view model of MVVM is a value converter;[3] this means that the view model is responsible for exposing the data objects from the model in such a way that the objects are easily managed and consumed. In this respect, the view model is more model than view, and handles most if not all of the view’s display logic.[3] The view model may also implement a mediator pattern, organising access to the backend logic around the set of use cases supported by the view.

Model View ViewModel is also called model-view-binder, especially in implementations that don't involve the .NET platform. ZK (a web application framework written in Java) and KnockoutJS (a JavaScript library) use model-view-binder.[4][1][5]

Recursos:

Model View Confusion

Terme interessant a: Model View Confusion

https://r.je/views-are-not-templates.html

MVP - Model-View-Presenter

MMV - Multiuse Model View

MVA - Model-View-Adapter

Programming Languages

PHP

Exemple fet a mà des de zero de Patró MVC (vegeu MVC i PHP):

Un altre exemple de Laracasts:

https://laracasts.com/series/php-for-beginners/episodes/16

Frameworks

PHP

Java

Vegeu també

Enllaços externs